@@ -233,6 +233,39 @@ jobs:
233233 env :
234234 CC : clang-19
235235 CXX : clang++-19
236+ - name : Install project
237+ run : |
238+ cmake --build build --target install
239+ - name : Archive installed package
240+ run : |
241+ tar -czvf ubuntu-clang-install.tar.gz -C install .
242+ - name : Upload installed package
243+ uses : actions/upload-artifact@v4
244+ with :
245+ name : ubuntu-clang-install
246+ path : ubuntu-clang-install.tar.gz
247+ ubuntu-clang-test :
248+ needs :
249+ - ubuntu-clang-build
250+ runs-on : ubuntu-latest
251+ steps :
252+ - uses : actions/checkout@v4
253+ - name : Setup environment
254+ run : |
255+ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
256+ sudo apt-get update
257+ sudo apt-get install -y ninja-build mpich python3-pip valgrind
258+ wget https://apt.llvm.org/llvm.sh
259+ chmod u+x llvm.sh
260+ sudo ./llvm.sh 19 all
261+ - name : Download installed package
262+ uses : actions/download-artifact@v4
263+ with :
264+ name : ubuntu-clang-install
265+ - name : Extract installed package
266+ run : |
267+ mkdir -p install
268+ tar -xzvf ubuntu-clang-install.tar.gz -C install
236269 - name : Run func tests (MPI, num_proc=1)
237270 run : |
238271 source scripts/run_mpi.sh
@@ -273,14 +306,12 @@ jobs:
273306 run : source scripts/run_threads.sh
274307 env :
275308 OMP_NUM_THREADS : 4
276- ubuntu-clang-build -extended :
309+ ubuntu-clang-test -extended :
277310 needs :
278- - ubuntu-clang-build
311+ - ubuntu-clang-test
279312 runs-on : ubuntu-latest
280313 steps :
281314 - uses : actions/checkout@v4
282- with :
283- submodules : recursive
284315 - name : Setup environment
285316 run : |
286317 sudo add-apt-repository ppa:ubuntu-toolchain-r/test
@@ -289,27 +320,14 @@ jobs:
289320 wget https://apt.llvm.org/llvm.sh
290321 chmod u+x llvm.sh
291322 sudo ./llvm.sh 19 all
292- - name : ccache
293- uses : hendrikmuhs/ccache-action@v1.2
323+ - name : Download installed package
324+ uses : actions/download-artifact@v4
294325 with :
295- key : ${{ runner.os }}-clang
296- create-symlink : true
297- max-size : 1G
298- - name : CMake configure
299- run : >
300- cmake -S . -B build
301- -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON
302- -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON
303- -D CMAKE_BUILD_TYPE=RELEASE
304- env :
305- CC : clang-19
306- CXX : clang++-19
307- - name : Build project
326+ name : ubuntu-clang-install
327+ - name : Extract installed package
308328 run : |
309- cmake --build build --parallel
310- env :
311- CC : clang-19
312- CXX : clang++-19
329+ mkdir -p install
330+ tar -xzvf ubuntu-clang-install.tar.gz -C install
313331 - name : Run tests (threads, num_threads=5)
314332 run : source scripts/run_threads.sh
315333 env :
@@ -380,6 +398,39 @@ jobs:
380398 env :
381399 CC : clang-19
382400 CXX : clang++-19
401+ - name : Install project
402+ run : |
403+ cmake --build build --target install
404+ - name : Archive installed package
405+ run : |
406+ tar -czvf ubuntu-clang-sanitizer-install.tar.gz -C install .
407+ - name : Upload installed package
408+ uses : actions/upload-artifact@v4
409+ with :
410+ name : ubuntu-clang-sanitizer-install
411+ path : ubuntu-clang-sanitizer-install.tar.gz
412+ ubuntu-clang-sanitizer-test :
413+ needs :
414+ - ubuntu-clang-sanitizer-build
415+ runs-on : ubuntu-latest
416+ steps :
417+ - uses : actions/checkout@v4
418+ - name : Setup environment
419+ run : |
420+ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
421+ sudo apt-get update
422+ sudo apt-get install -y ninja-build mpich python3-pip valgrind
423+ wget https://apt.llvm.org/llvm.sh
424+ chmod u+x llvm.sh
425+ sudo ./llvm.sh 19 all
426+ - name : Download installed package
427+ uses : actions/download-artifact@v4
428+ with :
429+ name : ubuntu-clang-sanitizer-install
430+ - name : Extract installed package
431+ run : |
432+ mkdir -p install
433+ tar -xzvf ubuntu-clang-sanitizer-install.tar.gz -C install
383434 - name : Run tests (MPI)
384435 run : |
385436 source scripts/run_mpi.sh "--oversubscribe"
@@ -417,44 +468,28 @@ jobs:
417468 ASAN_RUN : 1
418469 ASAN_OPTIONS : abort_on_error=1
419470 UBSAN_OPTIONS : halt_on_error=1
420- ubuntu-clang-sanitizer-build -extended :
471+ ubuntu-clang-sanitizer-test -extended :
421472 needs :
422- - ubuntu-clang-sanitizer-build
473+ - ubuntu-clang-sanitizer-test
423474 runs-on : ubuntu-latest
424475 steps :
425476 - uses : actions/checkout@v4
426- with :
427- submodules : recursive
428477 - name : Setup environment
429478 run : |
430479 sudo add-apt-repository ppa:ubuntu-toolchain-r/test
431480 sudo apt-get update
432- sudo apt-get install -y ninja-build mpich libmpich* mpi* openmpi-bin python3-pip
481+ sudo apt-get install -y ninja-build mpich python3-pip valgrind
433482 wget https://apt.llvm.org/llvm.sh
434483 chmod u+x llvm.sh
435484 sudo ./llvm.sh 19 all
436- - name : ccache
437- uses : hendrikmuhs/ccache-action@v1.2
485+ - name : Download installed package
486+ uses : actions/download-artifact@v4
438487 with :
439- key : ${{ runner.os }}-clang
440- create-symlink : true
441- max-size : 1G
442- - name : CMake configure
443- run : >
444- cmake -S . -B build
445- -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache
446- -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON
447- -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON
448- -D CMAKE_BUILD_TYPE=RELEASE -D ENABLE_ADDRESS_SANITIZER=ON -D ENABLE_UB_SANITIZER=ON
449- env :
450- CC : clang-19
451- CXX : clang++-19
452- - name : Build project
488+ name : ubuntu-clang-sanitizer-install
489+ - name : Extract installed package
453490 run : |
454- cmake --build build --parallel
455- env :
456- CC : clang-19
457- CXX : clang++-19
491+ mkdir -p install
492+ tar -xzvf ubuntu-clang-sanitizer-install.tar.gz -C install
458493 - name : Run tests (threads, num_threads=5)
459494 run : source scripts/run_threads.sh
460495 env :
@@ -528,6 +563,39 @@ jobs:
528563 - name : Build project
529564 run : |
530565 cmake --build build --parallel
566+ - name : Install project
567+ run : |
568+ cmake --build build --target install
569+ - name : Archive installed package
570+ run : |
571+ tar -czvf macos-clang-sanitizer-install.tar.gz -C install .
572+ - name : Upload installed package
573+ uses : actions/upload-artifact@v4
574+ with :
575+ name : macos-clang-sanitizer-install
576+ path : macos-clang-sanitizer-install.tar.gz
577+ macos-clang-test :
578+ needs :
579+ - macos-clang-build
580+ runs-on : macOS-latest
581+ steps :
582+ - uses : actions/checkout@v4
583+ - name : Setup environment
584+ run : |
585+ brew update-reset
586+ brew install ninja mpich llvm
587+ brew install libomp
588+ brew link libomp --overwrite --force
589+ brew install openssl
590+ brew link openssl --overwrite --force
591+ - name : Download installed package
592+ uses : actions/download-artifact@v4
593+ with :
594+ name : macos-clang-sanitizer-install
595+ - name : Extract installed package
596+ run : |
597+ mkdir -p install
598+ tar -xzvf macos-clang-sanitizer-install.tar.gz -C install
531599 - name : Run func tests (MPI, num_proc=1)
532600 run : |
533601 source scripts/run_mpi.sh
@@ -568,14 +636,12 @@ jobs:
568636 run : source scripts/run_threads.sh
569637 env :
570638 OMP_NUM_THREADS : 4
571- macos-clang-build -extended :
639+ macos-clang-test -extended :
572640 needs :
573- - macos-clang-build
641+ - macos-clang-test
574642 runs-on : macOS-latest
575643 steps :
576644 - uses : actions/checkout@v4
577- with :
578- submodules : recursive
579645 - name : Setup environment
580646 run : |
581647 brew update-reset
@@ -584,22 +650,14 @@ jobs:
584650 brew link libomp --overwrite --force
585651 brew install openssl
586652 brew link openssl --overwrite --force
587- - name : ccache
588- uses : hendrikmuhs/ccache-action@v1.2
653+ - name : Download installed package
654+ uses : actions/download-artifact@v4
589655 with :
590- key : ${{ runner.os }}-clang
591- create-symlink : true
592- max-size : 1G
593- - name : CMake configure
594- run : >
595- cmake -S . -B build
596- -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache
597- -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON
598- -DCMAKE_C_FLAGS="-I$(brew --prefix)/opt/libomp/include" -DCMAKE_CXX_FLAGS="-I$(brew --prefix)/opt/libomp/include"
599- -D CMAKE_BUILD_TYPE=RELEASE -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON
600- - name : Build project
656+ name : macos-clang-sanitizer-install
657+ - name : Extract installed package
601658 run : |
602- cmake --build build --parallel
659+ mkdir -p install
660+ tar -xzvf macos-clang-sanitizer-install.tar.gz -C install
603661 - name : Run tests (threads, num_threads=5)
604662 run : source scripts/run_threads.sh
605663 env :
0 commit comments