8
8
9
9
jobs :
10
10
build_CUDA :
11
- runs-on : ubuntu-20 .04
11
+ runs-on : ubuntu-24 .04
12
12
strategy :
13
13
matrix :
14
14
name : ["CUDA"]
@@ -18,20 +18,24 @@ jobs:
18
18
disable_cuda : false
19
19
# not enough RAM to compile Debug CUDA on 4 threads
20
20
threads : 1
21
+ tag : " uwlcm_ubuntu_24_04_cuda_12_9_0"
22
+ app_opts : " --nv"
21
23
22
24
steps :
23
25
- uses : actions/checkout@v2
24
26
25
27
- name : build libcloudph++
26
- uses : igfuw/libcloudphxx_build@v0.3
28
+ uses : igfuw/libcloudphxx_build@master
27
29
with :
28
30
disable_cuda : ${{matrix.disable_cuda}}
29
31
build_type : ${{matrix.build_type}}
30
32
threads : ${{matrix.threads}}
31
33
path : ${{ github.workspace }}
34
+ tag : ${{ matrix.tag }}
35
+ app_opts : ${{ matrix.app_opts }}
32
36
33
37
build :
34
- runs-on : ubuntu-20 .04
38
+ runs-on : ubuntu-24 .04
35
39
strategy :
36
40
matrix :
37
41
name : ["no_CUDA"]
@@ -43,17 +47,17 @@ jobs:
43
47
disable_cuda : true
44
48
threads : 4
45
49
- mpi : " none"
46
- tag : " ubuntu_20_04_cuda_11_4 "
50
+ tag : " uwlcm_ubuntu_24_04_cuda_12_9_0 "
47
51
cxx : " g++"
48
52
- mpi : " mvapich2"
49
- tag : " ubuntu_20_04_cuda_11_4_mvapich2 "
53
+ tag : " uwlcm_ubuntu_24_04_cuda_12_9_0_mvapich2 "
50
54
cxx : " mpic++"
51
55
52
56
steps :
53
57
- uses : actions/checkout@v2
54
58
55
59
- name : build libcloudph++
56
- uses : igfuw/libcloudphxx_build@v0.3
60
+ uses : igfuw/libcloudphxx_build@master
57
61
with :
58
62
disable_cuda : ${{matrix.disable_cuda}}
59
63
build_type : ${{matrix.build_type}}
@@ -76,17 +80,17 @@ jobs:
76
80
# test jobs
77
81
unit_test :
78
82
needs : build
79
- runs-on : ubuntu-20 .04
83
+ runs-on : ubuntu-24 .04
80
84
81
85
strategy :
82
86
matrix :
83
87
build_type : ["RelWithDebInfoPortable", "Debug"]
84
88
mpi : ["none", "mvapich2"]
85
89
include :
86
90
- mpi : " none"
87
- tag : " ubuntu_20_04_cuda_11_4 "
91
+ tag : " uwlcm_ubuntu_24_04_cuda_12_9_0 "
88
92
- mpi : " mvapich2"
89
- tag : " ubuntu_20_04_cuda_11_4_mvapich2 "
93
+ tag : " uwlcm_ubuntu_24_04_cuda_12_9_0_mvapich2 "
90
94
91
95
steps :
92
96
- uses : actions/checkout@v2
@@ -99,21 +103,21 @@ jobs:
99
103
- name : Decompress libcloudph++ build
100
104
run : tar -xvf build.tar
101
105
102
- - name : load UWLCM Singularity image
103
- uses : igfuw/load_UWLCM_singularity_image@v0.1b
106
+ - name : load UWLCM Apptainer image
107
+ uses : igfuw/load_UWLCM_singularity_image@main
104
108
with :
105
- path : ${{ github.workspace }}/singularity_images
109
+ path : ${{ github.workspace }}/apptainer_images
106
110
tag : ${{ matrix.tag }}
107
111
108
112
- name : Run unit tests
109
113
working-directory : ${{github.workspace}}/build
110
114
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
111
- run : OMP_NUM_THREADS=4 singularity exec $SI ctest -C ${{matrix.build_type}} || cat Testing/Temporary/LastTest.log / # "/" intentional! (just to make cat exit with an error code)
115
+ run : OMP_NUM_THREADS=4 apptainer exec $SI ctest -C ${{matrix.build_type}} || cat Testing/Temporary/LastTest.log / # "/" intentional! (just to make cat exit with an error code)
112
116
113
117
114
118
kinematic_2D_test :
115
119
needs : build
116
- runs-on : ubuntu-20 .04
120
+ runs-on : ubuntu-24 .04
117
121
118
122
strategy :
119
123
matrix :
@@ -145,7 +149,7 @@ jobs:
145
149
path : libmpdataxx
146
150
147
151
- name : Install libmpdata++
148
- uses : igfuw/libmpdataxx_install@v0.5
152
+ uses : igfuw/libmpdataxx_install@master
149
153
with :
150
154
build_type : ${{matrix.build_type}}
151
155
threads : 4
@@ -154,17 +158,17 @@ jobs:
154
158
155
159
- name : Configure kinematic_2D CMake
156
160
working-directory : ${{github.workspace}}/models/kinematic_2D
157
- run : singularity exec -B ${{ github.workspace }}/installed/ $SI cmake -B build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -Dlibcloudph++_DIR=${{ github.workspace }}/installed/share/libcloudph++ -Dlibmpdata++_DIR=${{ github.workspace }}/installed/share/libmpdata++
161
+ run : apptainer exec -B ${{ github.workspace }}/installed/ $SI cmake -B build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -Dlibcloudph++_DIR=${{ github.workspace }}/installed/share/libcloudph++ -Dlibmpdata++_DIR=${{ github.workspace }}/installed/share/libmpdata++
158
162
159
163
160
164
- name : Build kinematic_2D
161
165
working-directory : ${{github.workspace}}/models/kinematic_2D
162
- run : VERBOSE=1 singularity exec -B ${{ github.workspace }}/installed/ $SI cmake --build build --config ${{matrix.build_type}}
166
+ run : VERBOSE=1 apptainer exec -B ${{ github.workspace }}/installed/ $SI cmake --build build --config ${{matrix.build_type}}
163
167
164
168
- name : Run kinematic_2D tests
165
169
working-directory : ${{github.workspace}}/models/kinematic_2D/build
166
170
run : |
167
- singularity exec -B ${{ github.workspace }}/installed/ $SI ctest -VV -R travis # compare icicle results against reference data (done for full simulation for bulk schemes and a couple of steps for lagrangian)
171
+ apptainer exec -B ${{ github.workspace }}/installed/ $SI ctest -VV -R travis # compare icicle results against reference data (done for full simulation for bulk schemes and a couple of steps for lagrangian)
168
172
cat Testing/Temporary/LastTest.log
169
173
170
174
# Debugging with a ssh session on failure
@@ -177,7 +181,7 @@ jobs:
177
181
needs : build
178
182
# do after kinematic_2D_test, because otherwise we occasionally get "illegal instruction" errors, probably because libcloudphxx is installed simultaneously on the same runner at the same location by two different jobs (?)
179
183
# needs: kinematic_2D_test
180
- runs-on : ubuntu-20 .04
184
+ runs-on : ubuntu-24 .04
181
185
182
186
strategy :
183
187
matrix :
@@ -203,14 +207,27 @@ jobs:
203
207
- name : Decompress libcloudph++ build
204
208
run : tar -xvf build.tar
205
209
206
- - name : load UWLCM Singularity image
207
- uses : igfuw/load_UWLCM_singularity_image@v0.1b
210
+ - name : load UWLCM Apptainer image
211
+ uses : igfuw/load_UWLCM_singularity_image@main
208
212
with :
209
- path : ${{ github.workspace }}/singularity_images
213
+ path : ${{ github.workspace }}/apptainer_images
210
214
211
215
- name : Install libcloudph++
212
216
run : sudo cmake --install build
213
217
218
+ - name : add libcloudhphxx.so to PYTHONPATH
219
+ run : echo "PYTHONPATH=${{ github.workspace }}/installed$(python3 -c "import sysconfig; print(sysconfig.get_path('platlib'))")" >> $GITHUB_ENV
220
+ # uses: allenevans/set-env@v2.0.0
221
+ # with:
222
+ # PYTHONPATH: ${{ github.workspace }}/installed$(python3 -c "import sysconfig; print(sysconfig.get_path('platlib'))"):$PYTHONPATH
223
+ # uses: alsosee/envset@v1
224
+ # with:
225
+ # name: PYTHONPATH
226
+ # value: ${{ github.workspace }}/installed$(python3 -c "import sysconfig; print(sysconfig.get_path('platlib'))"):$PYTHONPATH
227
+
228
+ - name : check PYTHONPATH
229
+ run : echo ${PYTHONPATH}
230
+
214
231
- name : checkout parcel repo
215
232
uses : actions/checkout@v2
216
233
with :
@@ -222,21 +239,22 @@ jobs:
222
239
- name : run parcel unit_test
223
240
working-directory : ${{github.workspace}}/parcel
224
241
if : ${{matrix.long_tests}}
225
- run : PYTHONPATH=${{ github.workspace }}/installed/usr/lib/python3/dist-packages singularity exec -B${{ github.workspace }}/installed $SI python3 -m pytest -s -v unit_test
242
+ run : apptainer exec -B${{ github.workspace }}/installed $SI python3 -m pytest -s -v unit_test
243
+ # run: PYTHONPATH=${{ github.workspace }}/installed/usr/lib/python3/dist-packages apptainer exec -B${{ github.workspace }}/installed $SI python3 -m pytest -s -v unit_test
226
244
# run: PYTHONPATH=${{ github.workspace }}/installed/usr/lib/python3/dist-packages singularity exec -B${{ github.workspace }}/installed,/usr/lib/python3/dist-packages/Gnuplot $SI python3 -m pytest -v unit_test
227
245
228
246
- name : run parcel long_test
229
247
working-directory : ${{github.workspace}}/parcel
230
248
if : ${{matrix.long_tests}}
231
- run : PYTHONPATH=${{ github.workspace }}/installed/usr/lib/python3/dist-packages singularity exec -B${{ github.workspace }}/installed $SI python3 -m pytest -s -v long_test
249
+ run : apptainer exec -B${{ github.workspace }}/installed $SI python3 -m pytest -s -v long_test
232
250
233
251
- name : run parcel unit_test_debug
234
252
working-directory : ${{github.workspace}}/parcel
235
253
if : ${{matrix.debug_tests}}
236
- run : PYTHONPATH=${{ github.workspace }}/installed/usr/lib/python3/dist-packages singularity exec -B${{ github.workspace }}/installed $SI python3 -m pytest -s -v unit_test_debug
254
+ run : apptainer exec -B${{ github.workspace }}/installed $SI python3 -m pytest -s -v unit_test_debug
237
255
238
256
build_and_test_KiD-A :
239
- runs-on : ubuntu-20 .04
257
+ runs-on : ubuntu-24 .04
240
258
strategy :
241
259
matrix :
242
260
name : ["no_CUDA"]
@@ -263,7 +281,7 @@ jobs:
263
281
- run : grep diag_accr include/libcloudph++/lgrngn/particles.hpp
264
282
265
283
- name : build libcloudph++
266
- uses : igfuw/libcloudphxx_build@v0.3
284
+ uses : igfuw/libcloudphxx_build@master
267
285
with :
268
286
disable_cuda : ${{matrix.disable_cuda}}
269
287
build_type : ${{matrix.build_type}}
@@ -274,6 +292,19 @@ jobs:
274
292
- name : Install libcloudph++
275
293
run : sudo cmake --install build
276
294
295
+ - name : add libcloudhphxx.so to PYTHONPATH
296
+ run : echo "PYTHONPATH=${{ github.workspace }}/installed$(python3 -c "import sysconfig; print(sysconfig.get_path('platlib'))")" >> $GITHUB_ENV
297
+ # uses: allenevans/set-env@v2.0.0
298
+ # with:
299
+ # PYTHONPATH: ${{ github.workspace }}/installed$(python3 -c "import sysconfig; print(sysconfig.get_path('platlib'))"):$PYTHONPATH
300
+ # uses: alsosee/envset@v1
301
+ # with:
302
+ # name: PYTHONPATH
303
+ # value: ${{ github.workspace }}/installed$(python3 -c "import sysconfig; print(sysconfig.get_path('platlib'))"):$PYTHONPATH
304
+
305
+ - name : check PYTHONPATH
306
+ run : echo ${PYTHONPATH}
307
+
277
308
- name : checkout KiD-libcloud repo
278
309
uses : actions/checkout@v2
279
310
with :
@@ -282,7 +313,7 @@ jobs:
282
313
283
314
- name : run KiD LWP test
284
315
working-directory : ${{github.workspace}}/kid-libcloud
285
- run : PYTHONPATH=${{ github.workspace }}/installed/usr/lib/python3/dist-packages singularity exec -B${{ github.workspace }}/installed $SI bash ./.travis_scripts/lwp_test.sh
316
+ run : apptainer exec -B${{ github.workspace }}/installed $SI bash ./.travis_scripts/lwp_test.sh
286
317
287
318
call_test_uwlcm_hlpr :
288
319
uses : igfuw/UWLCM/.github/workflows/test_uwlcm_hlpr.yml@master
0 commit comments