@@ -223,7 +223,7 @@ jobs:
223223 cmake -S . -B build
224224 -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON
225225 -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON
226- -D CMAKE_BUILD_TYPE=RELEASE
226+ -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=install
227227 env :
228228 CC : clang-19
229229 CXX : clang++-19
@@ -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 :
@@ -371,6 +389,7 @@ jobs:
371389 -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON
372390 -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON
373391 -D CMAKE_BUILD_TYPE=RELEASE -D ENABLE_ADDRESS_SANITIZER=ON -D ENABLE_UB_SANITIZER=ON
392+ -DCMAKE_INSTALL_PREFIX=install
374393 env :
375394 CC : clang-19
376395 CXX : clang++-19
@@ -380,6 +399,39 @@ jobs:
380399 env :
381400 CC : clang-19
382401 CXX : clang++-19
402+ - name : Install project
403+ run : |
404+ cmake --build build --target install
405+ - name : Archive installed package
406+ run : |
407+ tar -czvf ubuntu-clang-sanitizer-install.tar.gz -C install .
408+ - name : Upload installed package
409+ uses : actions/upload-artifact@v4
410+ with :
411+ name : ubuntu-clang-sanitizer-install
412+ path : ubuntu-clang-sanitizer-install.tar.gz
413+ ubuntu-clang-sanitizer-test :
414+ needs :
415+ - ubuntu-clang-sanitizer-build
416+ runs-on : ubuntu-latest
417+ steps :
418+ - uses : actions/checkout@v4
419+ - name : Setup environment
420+ run : |
421+ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
422+ sudo apt-get update
423+ sudo apt-get install -y ninja-build mpich python3-pip valgrind
424+ wget https://apt.llvm.org/llvm.sh
425+ chmod u+x llvm.sh
426+ sudo ./llvm.sh 19 all
427+ - name : Download installed package
428+ uses : actions/download-artifact@v4
429+ with :
430+ name : ubuntu-clang-sanitizer-install
431+ - name : Extract installed package
432+ run : |
433+ mkdir -p install
434+ tar -xzvf ubuntu-clang-sanitizer-install.tar.gz -C install
383435 - name : Run tests (MPI)
384436 run : |
385437 source scripts/run_mpi.sh "--oversubscribe"
@@ -417,44 +469,28 @@ jobs:
417469 ASAN_RUN : 1
418470 ASAN_OPTIONS : abort_on_error=1
419471 UBSAN_OPTIONS : halt_on_error=1
420- ubuntu-clang-sanitizer-build -extended :
472+ ubuntu-clang-sanitizer-test -extended :
421473 needs :
422- - ubuntu-clang-sanitizer-build
474+ - ubuntu-clang-sanitizer-test
423475 runs-on : ubuntu-latest
424476 steps :
425477 - uses : actions/checkout@v4
426- with :
427- submodules : recursive
428478 - name : Setup environment
429479 run : |
430480 sudo add-apt-repository ppa:ubuntu-toolchain-r/test
431481 sudo apt-get update
432- sudo apt-get install -y ninja-build mpich libmpich* mpi* openmpi-bin python3-pip
482+ sudo apt-get install -y ninja-build mpich python3-pip valgrind
433483 wget https://apt.llvm.org/llvm.sh
434484 chmod u+x llvm.sh
435485 sudo ./llvm.sh 19 all
436- - name : ccache
437- uses : hendrikmuhs/ccache-action@v1.2
486+ - name : Download installed package
487+ uses : actions/download-artifact@v4
438488 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
489+ name : ubuntu-clang-sanitizer-install
490+ - name : Extract installed package
453491 run : |
454- cmake --build build --parallel
455- env :
456- CC : clang-19
457- CXX : clang++-19
492+ mkdir -p install
493+ tar -xzvf ubuntu-clang-sanitizer-install.tar.gz -C install
458494 - name : Run tests (threads, num_threads=5)
459495 run : source scripts/run_threads.sh
460496 env :
@@ -525,9 +561,43 @@ jobs:
525561 -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON
526562 -DCMAKE_C_FLAGS="-I$(brew --prefix)/opt/libomp/include" -DCMAKE_CXX_FLAGS="-I$(brew --prefix)/opt/libomp/include"
527563 -D CMAKE_BUILD_TYPE=RELEASE -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON
564+ -DCMAKE_INSTALL_PREFIX=install
528565 - name : Build project
529566 run : |
530567 cmake --build build --parallel
568+ - name : Install project
569+ run : |
570+ cmake --build build --target install
571+ - name : Archive installed package
572+ run : |
573+ tar -czvf macos-clang-sanitizer-install.tar.gz -C install .
574+ - name : Upload installed package
575+ uses : actions/upload-artifact@v4
576+ with :
577+ name : macos-clang-sanitizer-install
578+ path : macos-clang-sanitizer-install.tar.gz
579+ macos-clang-test :
580+ needs :
581+ - macos-clang-build
582+ runs-on : macOS-latest
583+ steps :
584+ - uses : actions/checkout@v4
585+ - name : Setup environment
586+ run : |
587+ brew update-reset
588+ brew install ninja mpich llvm
589+ brew install libomp
590+ brew link libomp --overwrite --force
591+ brew install openssl
592+ brew link openssl --overwrite --force
593+ - name : Download installed package
594+ uses : actions/download-artifact@v4
595+ with :
596+ name : macos-clang-sanitizer-install
597+ - name : Extract installed package
598+ run : |
599+ mkdir -p install
600+ tar -xzvf macos-clang-sanitizer-install.tar.gz -C install
531601 - name : Run func tests (MPI, num_proc=1)
532602 run : |
533603 source scripts/run_mpi.sh
@@ -568,14 +638,12 @@ jobs:
568638 run : source scripts/run_threads.sh
569639 env :
570640 OMP_NUM_THREADS : 4
571- macos-clang-build -extended :
641+ macos-clang-test -extended :
572642 needs :
573- - macos-clang-build
643+ - macos-clang-test
574644 runs-on : macOS-latest
575645 steps :
576646 - uses : actions/checkout@v4
577- with :
578- submodules : recursive
579647 - name : Setup environment
580648 run : |
581649 brew update-reset
@@ -584,22 +652,14 @@ jobs:
584652 brew link libomp --overwrite --force
585653 brew install openssl
586654 brew link openssl --overwrite --force
587- - name : ccache
588- uses : hendrikmuhs/ccache-action@v1.2
655+ - name : Download installed package
656+ uses : actions/download-artifact@v4
589657 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
658+ name : macos-clang-sanitizer-install
659+ - name : Extract installed package
601660 run : |
602- cmake --build build --parallel
661+ mkdir -p install
662+ tar -xzvf macos-clang-sanitizer-install.tar.gz -C install
603663 - name : Run tests (threads, num_threads=5)
604664 run : source scripts/run_threads.sh
605665 env :
@@ -897,8 +957,8 @@ jobs:
897957 ubuntu-gcc-build-codecov :
898958 needs :
899959 - ubuntu-gcc-test-extended
900- - ubuntu-clang-build -extended
901- - macos-clang-build -extended
960+ - ubuntu-clang-test -extended
961+ - macos-clang-test -extended
902962 runs-on : ubuntu-latest
903963 steps :
904964 - uses : actions/checkout@v4
@@ -977,7 +1037,7 @@ jobs:
9771037 ubuntu-gcc-build-perf-stats :
9781038 needs :
9791039 - ubuntu-gcc-build-codecov
980- - ubuntu-clang-sanitizer-build -extended
1040+ - ubuntu-clang-sanitizer-test -extended
9811041 - windows-clang-build-extended
9821042 - windows-msvc-build-extended
9831043 runs-on : ubuntu-latest
0 commit comments