-
Notifications
You must be signed in to change notification settings - Fork 11
93 lines (83 loc) · 4.25 KB
/
Copy pathCIBuild.yml
File metadata and controls
93 lines (83 loc) · 4.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# Check if MaCh3 compiles correctly
name: Build CI
# The events that trigger the workflow
on:
pull_request:
branches: [ develop ]
permissions:
contents: read
packages: write
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false # KS: Prevents cancellation of remaining jobs if one fails
matrix:
include:
- os: Alma9
file: Doc/MaCh3DockerFiles/Alma9/Dockerfile
tag: alma9latest
cmakeoptions: -DMaCh3_PYTHON_ENABLED=ON -DMaCh3_NUDOCK_ENABLED=ON
- os: Ubuntu22.04 Debug
file: Doc/MaCh3DockerFiles/Ubuntu22.04/Dockerfile
tag: ubuntu22.04latest
cmakeoptions: -DMaCh3_DEBUG_ENABLED=ON -DMaCh3_NUDOCK_ENABLED=ON -DMaCh3_PYTHON_ENABLED=ON -DNuFastLinear_ENABLED=ON
- os: Fedora34 Low Memory
file: Doc/MaCh3DockerFiles/Fedora34/Dockerfile
tag: fedora34latest
cmakeoptions: -DMaCh3_PYTHON_ENABLED=ON -DMaCh3_NUDOCK_ENABLED=ON -DMaCh3_LOW_MEMORY_STRUCTS_ENABLED=ON
- os: Rocky9 CUDA
file: Doc/MaCh3DockerFiles/Rocky9/Dockerfile
tag: rocky9latest
cmakeoptions: -DMaCh3_PYTHON_ENABLED=ON -DMaCh3_NUDOCK_ENABLED=ON
- os: Rocky9 CUDA DEBUG
file: Doc/MaCh3DockerFiles/Rocky9/Dockerfile
tag: rocky9latest
cmakeoptions: -DMaCh3_PYTHON_ENABLED=ON -DMaCh3_DEBUG_ENABLED=ON -DMaCh3_NUDOCK_ENABLED=ON -DNuFastLinear_ENABLED=ON
- os: Rocky9 CUDA Low Memory
file: Doc/MaCh3DockerFiles/Rocky9/Dockerfile
tag: rocky9latest
cmakeoptions: -DMaCh3_PYTHON_ENABLED=ON -DMaCh3_NUDOCK_ENABLED=ON -DMaCh3_LOW_MEMORY_STRUCTS_ENABLED=ON -DNuFastLinear_ENABLED=ON
- os: Ubi9 CUDA NoMultithreading
file: Doc/MaCh3DockerFiles/Ubi9/Dockerfile
tag: rocky9latest
cmakeoptions: -DMaCh3_PYTHON_ENABLED=ON -DMaCh3_NUDOCK_ENABLED=ON -DMaCh3_MULTITHREAD_ENABLED=OFF -DNuFastLinear_ENABLED=ON
- os: Alma9 NoMultithreading
file: Doc/MaCh3DockerFiles/Alma9/Dockerfile
tag: alma9latest
cmakeoptions: -DMaCh3_PYTHON_ENABLED=ON -DMaCh3_NUDOCK_ENABLED=ON -DMaCh3_MULTITHREAD_ENABLED=OFF -DNuFastLinear_ENABLED=ON
- os: Alma9 Native
file: Doc/MaCh3DockerFiles/Alma9/Dockerfile
tag: alma9latest
cmakeoptions: -DMaCh3_PYTHON_ENABLED=ON -DMaCh3_NUDOCK_ENABLED=ON -DMaCh3_NATIVE_ENABLED=ON
- os: Ubuntu25.04 Clang NoMultithreading
file: Doc/MaCh3DockerFiles/Ubuntu25.04/Dockerfile
tag: ubuntu25.04latest
cmakeoptions: -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DMaCh3_MULTITHREAD_ENABLED=OFF -DMaCh3_PYTHON_ENABLED=ON -DMaCh3_NUDOCK_ENABLED=ON -DNuFastLinear_ENABLED=ON
- os: Alma9 ICPX NoMultithreading
file: Doc/MaCh3DockerFiles/Alma9_icpx/Dockerfile
tag: Alma9icpxlatest
cmakeoptions: -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx -DMaCh3_MULTITHREAD_ENABLED=OFF -DMaCh3_PYTHON_ENABLED=ON -DMaCh3_NUDOCK_ENABLED=ON -DNuFastLinear_ENABLED=ON -DMaCh3_WERROR_ENABLED=FALSE
- os: Ubuntu25.10
file: Doc/MaCh3DockerFiles/Ubuntu25.10/Dockerfile
tag: ubuntu25.10latest
cmakeoptions: -DMaCh3_PYTHON_ENABLED=ON -DMaCh3_NUDOCK_ENABLED=ON
name: Build CI ${{ matrix.os }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Log in to GitHub Container Registry
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
- name: Set MACH3_VERSION
run: echo "MACH3_VERSION=${GITHUB_HEAD_REF}" >> "$GITHUB_ENV"
env:
GITHUB_HEAD_REF: ${{ github.head_ref }}
# KS: Free some space, as some MaCh3 containers can be heavy...
- uses: ./.github/actions/free-disk-space
- name: Build the Docker image
run: |
docker build . \
--file ${{ matrix.file }} \
--tag ghcr.io/${{ github.repository_owner }}/mach3:${{ matrix.tag }} \
--build-arg MACH3_VERSION="$MACH3_VERSION" \
--build-arg CMAKE_OPTIONS="${{ matrix.cmakeoptions }}" \
--build-arg REPOSITORY_URL="https://github.com/${{ github.repository }}"