@@ -38,16 +38,16 @@ jobs:
38
38
strategy :
39
39
matrix :
40
40
include :
41
- - os : ubuntu-latest
41
+ - os : ubuntu-24.04
42
42
compiler : gcc
43
- compiler_version : 9
43
+ # compiler_version: 9
44
44
cuda_version : " 0"
45
45
BUILD_FLAGS : " -DSTIR_OPENMP=ON"
46
46
BUILD_TYPE : " Release"
47
47
parallelproj : " ON"
48
48
ROOT : " ON"
49
49
ITK : " OFF"
50
- - os : ubuntu-latest
50
+ - os : ubuntu-24.04
51
51
compiler : clang
52
52
# compiler_version:
53
53
cuda_version : " 0"
57
57
ROOT : " OFF"
58
58
# currently using ITK 5.2 which doesn't like clang 14
59
59
ITK : " OFF"
60
- - os : ubuntu-latest
60
+ - os : ubuntu-24.04
61
61
compiler : gcc
62
62
compiler_version : 10
63
63
cuda_version : " 0"
@@ -66,19 +66,20 @@ jobs:
66
66
parallelproj : " OFF"
67
67
ROOT : " OFF"
68
68
ITK : " ON"
69
- - os : ubuntu-latest
69
+ - os : ubuntu-24.04
70
70
compiler : gcc
71
- compiler_version : 12
71
+ compiler_version : 14
72
72
cuda_version : " 0"
73
73
BUILD_FLAGS : " -DSTIR_OPENMP=ON -DCMAKE_CXX_STANDARD=20"
74
74
BUILD_TYPE : " RelWithDebInfo"
75
75
parallelproj : " ON"
76
76
ROOT : " OFF"
77
77
ITK : " ON"
78
- - os : ubuntu-latest
78
+ - os : ubuntu-24.04
79
79
compiler : gcc
80
- compiler_version : 12
81
- cuda_version : " 12.1.0"
80
+ # currently CUDA doesn't support gcc 14 yet
81
+ compiler_version : 13
82
+ cuda_version : " 12.6.1"
82
83
BUILD_FLAGS : " -DSTIR_OPENMP=ON -DCMAKE_CXX_STANDARD=17"
83
84
BUILD_TYPE : " Release"
84
85
parallelproj : " ON"
@@ -180,7 +181,7 @@ jobs:
180
181
echo CXX="$CXX" >> $GITHUB_ENV
181
182
182
183
- if : matrix.cuda_version != '0'
183
-
184
+
184
185
id : cuda-toolkit
185
186
with :
186
187
cuda : ${{ matrix.cuda_version }}
@@ -254,13 +255,23 @@ jobs:
254
255
rm -rf parallelproj
255
256
fi
256
257
257
- # Install ROOT (warning: currently only valid on Ubuntu )
258
+ # Install ROOT (warning: brittle due to OS versions etc )
258
259
if test "${{matrix.ROOT}}XX" == "ONXX"; then
259
- ROOT_file=root_v6.28.12.Linux-ubuntu20-x86_64-gcc9.4.tar.gz
260
+ case ${{matrix.os}} in
261
+ (ubuntu*)
262
+ sudo apt install libtbb-dev libvdt-dev libgif-dev
263
+ ROOT_file=root_v6.34.00.Linux-ubuntu24.04-x86_64-gcc13.2.tar.gz
264
+ #root_v6.34.00.Linux-ubuntu24.10-x86_64-gcc14.2.tar.gz
265
+ ;;
266
+ (macOS*)
267
+ ROOT_file=https://root.cern/download/root_v6.34.00.macos-15.1-arm64-clang160.tar.gz
268
+ ;;
269
+ esac
260
270
wget https://root.cern/download/"$ROOT_file"
261
271
tar -xzvf "$ROOT_file"
262
272
rm "$ROOT_file"
263
273
source root/bin/thisroot.sh
274
+ echo ROOTSYS="$ROOTSYS" >> $GITHUB_ENV
264
275
fi
265
276
266
277
# we'll install some dependencies with shared libraries, so need to let the OS know
@@ -302,7 +313,11 @@ jobs:
302
313
CMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/install
303
314
# make available to jobs below
304
315
echo CMAKE_INSTALL_PREFIX="$CMAKE_INSTALL_PREFIX" >> $GITHUB_ENV
305
- EXTRA_BUILD_FLAGS="-DBUILD_SWIG_PYTHON=ON -DPYTHON_EXECUTABLE=`which python`"
316
+ if [ -n "$ROOTSYS" ]; then
317
+ # make sure we find ROOT (and vdt, which is installed in the same place)
318
+ EXTRA_BUILD_FLAGS=-DCMAKE_PREFIX_PATH:PATH="$ROOTSYS"
319
+ fi
320
+ EXTRA_BUILD_FLAGS="${EXTRA_BUILD_FLAGS} -DBUILD_SWIG_PYTHON=ON -DPython_EXECUTABLE=`which python`"
306
321
EXTRA_BUILD_FLAGS="${EXTRA_BUILD_FLAGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DCMAKE_BUILD_TYPE=${BUILD_TYPE}"
307
322
EXTRA_BUILD_FLAGS="${EXTRA_BUILD_FLAGS} -DDOWNLOAD_ZENODO_TEST_DATA=ON"
308
323
EXTRA_BUILD_FLAGS="${EXTRA_BUILD_FLAGS} -DDISABLE_STIR_LOCAL=OFF -DSTIR_LOCAL=${GITHUB_WORKSPACE}/examples/C++/using_STIR_LOCAL"
@@ -320,6 +335,13 @@ jobs:
320
335
;;
321
336
esac
322
337
338
+ # Enable tmate debugging of manually-triggered workflows if the input option was provided
339
+ - name : Setup tmate session if triggered
340
+ # if: ${{ failure() }}
341
+ uses : mxschmitt/action-tmate@v3
342
+ timeout-minutes : 30
343
+ if : ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled == 'true' }}
344
+
323
345
- name : build
324
346
shell : bash
325
347
env :
@@ -329,12 +351,6 @@ jobs:
329
351
source ${GITHUB_WORKSPACE}/my-env/bin/activate
330
352
cmake --build . -j 2 --config ${BUILD_TYPE}} --target install
331
353
332
- # Enable tmate debugging of manually-triggered workflows if the input option was provided
333
- - name : Setup tmate session if triggered
334
- uses : mxschmitt/action-tmate@v3
335
- timeout-minutes : 15
336
- if : ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled == 'true' }}
337
-
338
354
- name : ctest
339
355
shell : bash
340
356
env :
0 commit comments