Skip to content

Commit e818ffe

Browse files
committed
update CI testing
1 parent 0c98b3d commit e818ffe

File tree

1 file changed

+133
-116
lines changed

1 file changed

+133
-116
lines changed

.github/workflows/continuousIntegration.yml

Lines changed: 133 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,16 @@ concurrency:
1212

1313
jobs:
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-
uses: actions/[email protected]
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+
uses: actions/[email protected]
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-
uses: actions/[email protected]
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+
uses: actions/[email protected]
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-
uses: actions/[email protected]
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+
uses: actions/[email protected]
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

Comments
 (0)