@@ -12,6 +12,16 @@ concurrency:
1212
1313jobs :
1414
15+ get_docker_image_tag_hash :
16+ runs-on : ubuntu-22.04
17+ outputs :
18+ DOCKER_IMAGE_TAG_HASH : ${{ steps.extract_docker_image_tag_hash.outputs.DOCKER_IMAGE_TAG_HASH }}
19+ steps :
20+ - name : Extract docker image tag hash
21+ id : extract_docker_image_tag_hash
22+ run : |
23+ echo "DOCKER_IMAGE_TAG_HASH=310f70ba6065b94858af2cafeba828ea76c02a1d" >> "$GITHUB_OUTPUT"
24+
1525 # code_style:
1626 # needs: [check_pull_request_is_not_a_draft]
1727 # runs-on: ubuntu-22.04
@@ -30,89 +40,95 @@ jobs:
3040
3141 doxygen_check :
3242 runs-on : ubuntu-22.04
43+ needs :
44+ - get_docker_image_tag_hash
3345 steps :
34- - name : Checkout Repository
35- 36- with :
37- submodules : true
38- lfs : false
39- - name : Check doxygen
40- env :
41- DOCKER_REPOSITORY : geosx/ubuntu:22.04
42- HOST_CONFIG : hostconfigs/environment.cmake
43- CMAKE_CXX_COMPILER : /usr/bin/clang++
44- CMAKE_C_COMPILER : /usr/bin/clang
45- CMAKE_BUILD_TYPE : Release
46- BUILD_AND_TEST_ARGS : --test-doxygen
47- run : ./scripts/ci_build_and_test.sh
46+ - name : Checkout Repository
47+ 48+ with :
49+ submodules : true
50+ lfs : false
51+ - name : Check doxygen
52+ env :
53+ DOCKER_REPOSITORY : geosx/ubuntu:22.04-${{ needs.get_docker_image_tag_hash.outputs.DOCKER_IMAGE_TAG_HASH }}
54+ HOST_CONFIG : hostconfigs/environment.cmake
55+ CMAKE_CXX_COMPILER : /usr/bin/clang++
56+ CMAKE_C_COMPILER : /usr/bin/clang
57+ CMAKE_BUILD_TYPE : Release
58+ BUILD_AND_TEST_ARGS : --test-doxygen
59+ run : ./scripts/ci_build_and_test.sh
4860
4961
5062 code_checks :
51- runs-on : ubuntu-22.04
52- steps :
53- - name : Checkout Repository
54- 55- with :
56- submodules : true
57- lfs : false
58- - name : code_checks
59- env :
60- DOCKER_REPOSITORY : geosx/ubuntu:22.04
61- HOST_CONFIG : hostconfigs/environment.cmake
62- CMAKE_CXX_COMPILER : /usr/bin/clang++
63- CMAKE_C_COMPILER : /usr/bin/clang
64- CMAKE_BUILD_TYPE : Release
65- BUILD_AND_TEST_ARGS : --code-checks
66- run : ./scripts/ci_build_and_test.sh
63+ runs-on : ubuntu-22.04
64+ needs :
65+ - get_docker_image_tag_hash
66+ steps :
67+ - name : Checkout Repository
68+ 69+ with :
70+ submodules : true
71+ lfs : false
72+ - name : code_checks
73+ env :
74+ DOCKER_REPOSITORY : geosx/ubuntu:22.04-${{ needs.get_docker_image_tag_hash.outputs.DOCKER_IMAGE_TAG_HASH }}
75+ HOST_CONFIG : hostconfigs/environment.cmake
76+ CMAKE_CXX_COMPILER : /usr/bin/clang++
77+ CMAKE_C_COMPILER : /usr/bin/clang
78+ CMAKE_BUILD_TYPE : Release
79+ BUILD_AND_TEST_ARGS : --code-checks
80+ run : ./scripts/ci_build_and_test.sh
6781
6882 linux_builds :
6983 name : ${{matrix.name}}
7084 runs-on : ${{matrix.RUNS_ON}}
85+ needs :
86+ - get_docker_image_tag_hash
7187 strategy :
7288 # Set fail-fast to false to ensure that feedback is delivered for all matrix combinations. Consider changing this to true when your workflow is stable.
7389 fail-fast : false
7490 matrix :
7591 include :
76- - name : RHEL8.9 -clang17-dbg (ubi8.9 , clang-17.0.6, Debug)
77- DOCKER_REPOSITORY : geosx/ubi:8.9
92+ - name : RHEL8.10 -clang17-dbg (ubi8.10 , clang-17.0.6, Debug)
93+ DOCKER_REPOSITORY : geosx/ubi:8.10
7894 RUNS_ON : ubuntu-22.04
7995 CMAKE_CXX_COMPILER : clang++
8096 CMAKE_C_COMPILER : clang
8197 CMAKE_BUILD_TYPE : Debug
8298
83- - name : RHEL8.9 -clang17-rel (ubi8.9 , clang-17.0.6, Release)
84- DOCKER_REPOSITORY : geosx/ubi:8.9
99+ - name : RHEL8.10 -clang17-rel (ubi8.10 , clang-17.0.6, Release)
100+ DOCKER_REPOSITORY : geosx/ubi:8.10
85101 RUNS_ON : ubuntu-22.04
86102 CMAKE_CXX_COMPILER : clang++
87103 CMAKE_C_COMPILER : clang
88104 CMAKE_BUILD_TYPE : Release
89105
90- - name : RHEL8.9 -gcc13-dbg (ubi8.9 , gcc 13.2.1, Debug)
91- DOCKER_REPOSITORY : geosx/ubi:8.9
106+ - name : RHEL8.10 -gcc13-dbg (ubi8.10 , gcc 13.2.1, Debug)
107+ DOCKER_REPOSITORY : geosx/ubi:8.10
92108 RUNS_ON : ubuntu-22.04
93109 CMAKE_CXX_COMPILER : /opt/rh/gcc-toolset-13/root/bin/g++
94110 CMAKE_C_COMPILER : /opt/rh/gcc-toolset-13/root/bin/gcc
95111 CMAKE_BUILD_TYPE : Debug
96112
97- - name : RHEL8.9 -gcc13-rel (ubi8.9 , gcc 13.2.1, Release)
98- DOCKER_REPOSITORY : geosx/ubi:8.9
113+ - name : RHEL8.10 -gcc13-rel (ubi8.10 , gcc 13.2.1, Release)
114+ DOCKER_REPOSITORY : geosx/ubi:8.10
99115 RUNS_ON : ubuntu-22.04
100116 CMAKE_CXX_COMPILER : /opt/rh/gcc-toolset-13/root/bin/g++
101117 CMAKE_C_COMPILER : /opt/rh/gcc-toolset-13/root/bin/gcc
102118 CMAKE_BUILD_TYPE : Release
103119
104- - name : ubuntu22-gcc11-rel (ubuntu-22, gcc 11.4.0, Release)
120+ - name : ubuntu22-gcc11-dbg (ubuntu-22, gcc 11.4.0, Release)
105121 DOCKER_REPOSITORY : geosx/ubuntu:22.04
106122 RUNS_ON : ubuntu-22.04
107123 CMAKE_CXX_COMPILER : /usr/bin/g++
108124 CMAKE_C_COMPILER : /usr/bin/gcc
109- CMAKE_BUILD_TYPE : Release
125+ CMAKE_BUILD_TYPE : Debug
110126
111- - name : ubuntu22-clang14 -rel (ubuntu-22, clang-14.0 .0, Release)
127+ - name : ubuntu22-gcc11 -rel (ubuntu-22, gcc 11.4 .0, Release)
112128 DOCKER_REPOSITORY : geosx/ubuntu:22.04
113129 RUNS_ON : ubuntu-22.04
114- CMAKE_CXX_COMPILER : /usr/bin/clang ++
115- CMAKE_C_COMPILER : /usr/bin/clang
130+ CMAKE_CXX_COMPILER : /usr/bin/g ++
131+ CMAKE_C_COMPILER : /usr/bin/gcc
116132 CMAKE_BUILD_TYPE : Release
117133
118134 - name : ubuntu22-clang14-dbg (ubuntu-22, clang-14.0.0, Debug)
@@ -122,12 +138,12 @@ jobs:
122138 CMAKE_C_COMPILER : /usr/bin/clang
123139 CMAKE_BUILD_TYPE : Debug
124140
125- - name : ubuntu22-gcc11-dbg (ubuntu-22, gcc 11.4 .0, Release)
141+ - name : ubuntu22-clang14-rel (ubuntu-22, clang-14.0 .0, Release)
126142 DOCKER_REPOSITORY : geosx/ubuntu:22.04
127143 RUNS_ON : ubuntu-22.04
128- CMAKE_CXX_COMPILER : /usr/bin/g ++
129- CMAKE_C_COMPILER : /usr/bin/gcc
130- CMAKE_BUILD_TYPE : Debug
144+ CMAKE_CXX_COMPILER : /usr/bin/clang ++
145+ CMAKE_C_COMPILER : /usr/bin/clang
146+ CMAKE_BUILD_TYPE : Release
131147
132148 - name : ubuntu22-gcc11-cuda11-rel (ubuntu-22, gcc 11.4.0, cuda-11.8.0, Release)
133149 DOCKER_REPOSITORY : geosx/ubuntu:22.04-cuda11.8
@@ -151,49 +167,49 @@ jobs:
151167 NPROC : 4
152168 DOCKER_RUN_ARGS : " --cpus=4 --memory=64g --runtime=nvidia --gpus all"
153169
154- - name : ubuntu22-clang14-cuda11-rel (ubuntu-22, clang-14.0.0, cuda-11.8.0, Release)
155- DOCKER_REPOSITORY : geosx/ubuntu:22.04-cuda11.8
156- RUNS_ON : streak2
157- CMAKE_CXX_COMPILER : /usr/bin/clang++
158- CMAKE_C_COMPILER : /usr/bin/clang
159- CMAKE_BUILD_TYPE : Release
160- ENABLE_CUDA : ON
161- CMAKE_CUDA_ARCHITECTURES : " 86"
162- NPROC : 4
163- DOCKER_RUN_ARGS : " --cpus=4 --memory=64g --runtime=nvidia --gpus all"
170+ # - name: ubuntu22-clang14-cuda11-rel (ubuntu-22, clang-14.0.0, cuda-11.8.0, Release)
171+ # DOCKER_REPOSITORY: geosx/ubuntu:22.04-cuda11.8
172+ # RUNS_ON: streak2
173+ # CMAKE_CXX_COMPILER: /usr/bin/clang++
174+ # CMAKE_C_COMPILER: /usr/bin/clang
175+ # CMAKE_BUILD_TYPE: Release
176+ # ENABLE_CUDA: ON
177+ # CMAKE_CUDA_ARCHITECTURES: "86"
178+ # NPROC: 4
179+ # DOCKER_RUN_ARGS: "--cpus=4 --memory=64g --runtime=nvidia --gpus all"
164180
165- - name : ubuntu22-clang14-cuda11-dbg (ubuntu-22, clang-14.0.0, cuda-11.8.0, Debug)
166- DOCKER_REPOSITORY : geosx/ubuntu:22.04-cuda11.8
167- RUNS_ON : streak2
168- CMAKE_CXX_COMPILER : /usr/bin/clang++
169- CMAKE_C_COMPILER : /usr/bin/clang
170- CMAKE_BUILD_TYPE : Debug
171- ENABLE_CUDA : ON
172- CMAKE_CUDA_ARCHITECTURES : " 86"
173- NPROC : 4
174- DOCKER_RUN_ARGS : " --cpus=4 --memory=64g --runtime=nvidia --gpus all"
181+ # - name: ubuntu22-clang14-cuda11-dbg (ubuntu-22, clang-14.0.0, cuda-11.8.0, Debug)
182+ # DOCKER_REPOSITORY: geosx/ubuntu:22.04-cuda11.8
183+ # RUNS_ON: streak2
184+ # CMAKE_CXX_COMPILER: /usr/bin/clang++
185+ # CMAKE_C_COMPILER: /usr/bin/clang
186+ # CMAKE_BUILD_TYPE: Debug
187+ # ENABLE_CUDA: ON
188+ # CMAKE_CUDA_ARCHITECTURES: "86"
189+ # NPROC: 4
190+ # DOCKER_RUN_ARGS: "--cpus=4 --memory=64g --runtime=nvidia --gpus all"
175191
176- - name : RHEL8.9 -clang17-cuda12-rel (ubi8.9 , clang-17.0.6, cuda-12.4.1, Release)
177- DOCKER_REPOSITORY : geosx/ubi:8.9 -cuda12.4.1
178- RUNS_ON : streak2
179- CMAKE_CXX_COMPILER : clang++
180- CMAKE_C_COMPILER : clang
181- CMAKE_BUILD_TYPE : Release
182- ENABLE_CUDA : ON
183- CMAKE_CUDA_ARCHITECTURES : " 86"
184- NPROC : 4
185- DOCKER_RUN_ARGS : " --cpus=4 --memory=64g --runtime=nvidia --gpus all"
192+ # - name: RHEL8.10 -clang17-cuda12-rel (ubi8.10 , clang-17.0.6, cuda-12.4.1, Release)
193+ # DOCKER_REPOSITORY: geosx/ubi:8.10 -cuda12.8
194+ # RUNS_ON: streak2
195+ # CMAKE_CXX_COMPILER: clang++
196+ # CMAKE_C_COMPILER: clang
197+ # CMAKE_BUILD_TYPE: Release
198+ # ENABLE_CUDA: ON
199+ # CMAKE_CUDA_ARCHITECTURES: "86"
200+ # NPROC: 4
201+ # DOCKER_RUN_ARGS: "--cpus=4 --memory=64g --runtime=nvidia --gpus all"
186202
187- - name : RHEL8.9 -gcc13-cuda12-rel (ubi8.8 , gcc 13.2.1, cuda-12.4.1, Release)
188- DOCKER_REPOSITORY : geosx/ubi:8.9 -cuda12.4.1
189- RUNS_ON : streak2
190- CMAKE_CXX_COMPILER : /opt/rh/gcc-toolset-13/root/bin/g++
191- CMAKE_C_COMPILER : /opt/rh/gcc-toolset-13/root/bin/gcc
192- CMAKE_BUILD_TYPE : Release
193- ENABLE_CUDA : ON
194- CMAKE_CUDA_ARCHITECTURES : " 86"
195- NPROC : 4
196- DOCKER_RUN_ARGS : " --cpus=4 --memory=64g --runtime=nvidia --gpus all"
203+ # - name: RHEL8.10 -gcc13-cuda12-rel (ubi8.10 , gcc 13.2.1, cuda-12.4.1, Release)
204+ # DOCKER_REPOSITORY: geosx/ubi:8.10 -cuda12.8
205+ # RUNS_ON: streak2
206+ # CMAKE_CXX_COMPILER: /opt/rh/gcc-toolset-13/root/bin/g++
207+ # CMAKE_C_COMPILER: /opt/rh/gcc-toolset-13/root/bin/gcc
208+ # CMAKE_BUILD_TYPE: Release
209+ # ENABLE_CUDA: ON
210+ # CMAKE_CUDA_ARCHITECTURES: "86"
211+ # NPROC: 4
212+ # DOCKER_RUN_ARGS: "--cpus=4 --memory=64g --runtime=nvidia --gpus all"
197213
198214 steps :
199215 - name : Checkout Repository
@@ -207,7 +223,7 @@ jobs:
207223
208224 - name : Build and test
209225 env :
210- DOCKER_REPOSITORY : ${{ matrix.DOCKER_REPOSITORY }}
226+ DOCKER_REPOSITORY : ${{ matrix.DOCKER_REPOSITORY }}-${{ needs.get_docker_image_tag_hash.outputs.DOCKER_IMAGE_TAG_HASH }}
211227 CMAKE_CXX_COMPILER : ${{ matrix.CMAKE_CXX_COMPILER }}
212228 CMAKE_C_COMPILER : ${{ matrix.CMAKE_C_COMPILER }}
213229 CMAKE_BUILD_TYPE : ${{ matrix.CMAKE_BUILD_TYPE }}
@@ -220,39 +236,40 @@ jobs:
220236 run : ./scripts/ci_build_and_test.sh
221237
222238 code_coverage :
223- runs-on : ubuntu-22.04
224- # needs:
225- # - linux_builds
226- steps :
227- - name : Checkout Repository
228- 229- with :
230- submodules : true
231- lfs : false
232- - name : run code coverage
233- env :
234- DOCKER_REPOSITORY : geosx/ubuntu:22.04
235- HOST_CONFIG : hostconfigs/environment.cmake
236- CMAKE_CXX_COMPILER : /usr/bin/g++
237- CMAKE_C_COMPILER : /usr/bin/gcc
238- CMAKE_BUILD_TYPE : Debug
239- BUILD_AND_TEST_ARGS : " --build-exe --code-coverage"
240- run : ./scripts/ci_build_and_test.sh
241- - name : Upload coverage reports to Codecov
242- uses : codecov/codecov-action@v3
243- with :
244- files : shiva_coverage.info.cleaned
245- fail_ci_if_error : true
246- env :
247- CODECOV_TOKEN : ${{ secrets.CODECOV_TOKEN }}
239+ runs-on : ubuntu-22.04
240+ needs :
241+ - get_docker_image_tag_hash
242+ steps :
243+ - name : Checkout Repository
244+ 245+ with :
246+ submodules : true
247+ lfs : false
248+ - name : run code coverage
249+ env :
250+ DOCKER_REPOSITORY : geosx/ubuntu:22.04-${{ needs.get_docker_image_tag_hash.outputs.DOCKER_IMAGE_TAG_HASH }}
251+ HOST_CONFIG : hostconfigs/environment.cmake
252+ CMAKE_CXX_COMPILER : /usr/bin/g++
253+ CMAKE_C_COMPILER : /usr/bin/gcc
254+ CMAKE_BUILD_TYPE : Debug
255+ BUILD_AND_TEST_ARGS : " --build-exe --code-coverage"
256+ run : ./scripts/ci_build_and_test.sh
257+ - name : Upload coverage reports to Codecov
258+ uses : codecov/codecov-action@v3
259+ with :
260+ files : shiva_coverage.info.cleaned
261+ fail_ci_if_error : true
262+ env :
263+ CODECOV_TOKEN : ${{ secrets.CODECOV_TOKEN }}
248264
249265
250266 check_that_all_jobs_succeeded :
251267 runs-on : ubuntu-22.04
252268 needs :
253- - linux_builds
254- - doxygen_check
255- - code_checks
269+ - get_docker_image_tag_hash
270+ - linux_builds
271+ - doxygen_check
272+ - code_checks
256273 if : ${{ always() }}
257274 env :
258275 RETURN_VAL : |
0 commit comments