@@ -100,6 +100,45 @@ jobs:
100
100
run : source scripts/run_threads.sh
101
101
env :
102
102
OMP_NUM_THREADS : 4
103
+ ubuntu-gcc-build-extended :
104
+ needs :
105
+ - ubuntu-gcc-build
106
+ runs-on : ubuntu-latest
107
+ steps :
108
+ - uses : actions/checkout@v4
109
+ with :
110
+ submodules : recursive
111
+ - name : Setup environment
112
+ run : |
113
+ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
114
+ sudo apt-get update
115
+ sudo apt-get install gcc-13 g++-13
116
+ sudo apt-get install ninja-build
117
+ sudo apt-get install mpich libmpich* mpi* openmpi-bin
118
+ sudo apt-get install libomp-dev
119
+ sudo apt-get install valgrind
120
+ python3 -m pip install xlsxwriter
121
+ - name : ccache
122
+ uses :
hendrikmuhs/[email protected]
123
+ with :
124
+ key : ${{ github.job }}
125
+ create-symlink : true
126
+ - name : CMake configure
127
+ run : >
128
+ cmake -S . -B build
129
+ -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache
130
+ -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON
131
+ -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON
132
+ -D CMAKE_BUILD_TYPE=RELEASE
133
+ env :
134
+ CC : gcc-13
135
+ CXX : g++-13
136
+ - name : Ninja build
137
+ run : |
138
+ cmake --build build
139
+ env :
140
+ CC : gcc-13
141
+ CXX : g++-13
103
142
- name : Run func tests (threads, num_threads=5)
104
143
run : source scripts/run_threads.sh
105
144
env :
@@ -203,6 +242,45 @@ jobs:
203
242
run : source scripts/run_threads.sh
204
243
env :
205
244
OMP_NUM_THREADS : 4
245
+ ubuntu-clang-build-extended :
246
+ needs :
247
+ - ubuntu-clang-build
248
+ runs-on : ubuntu-latest
249
+ steps :
250
+ - uses : actions/checkout@v4
251
+ with :
252
+ submodules : recursive
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 ninja-build
258
+ sudo apt-get install mpich libmpich* mpi* openmpi-bin
259
+ sudo apt-get install python3-pip
260
+ sudo apt-get install valgrind
261
+ wget https://apt.llvm.org/llvm.sh
262
+ chmod u+x llvm.sh
263
+ sudo ./llvm.sh 19 all
264
+ - name : ccache
265
+ uses :
hendrikmuhs/[email protected]
266
+ with :
267
+ key : ${{ github.job }}
268
+ create-symlink : true
269
+ - name : CMake configure
270
+ run : >
271
+ cmake -S . -B build
272
+ -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON
273
+ -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON
274
+ -D CMAKE_BUILD_TYPE=RELEASE
275
+ env :
276
+ CC : clang-19
277
+ CXX : clang++-19
278
+ - name : Ninja build
279
+ run : |
280
+ cmake --build build
281
+ env :
282
+ CC : clang-19
283
+ CXX : clang++-19
206
284
- name : Run tests (threads, num_threads=5)
207
285
run : source scripts/run_threads.sh
208
286
env :
@@ -300,6 +378,45 @@ jobs:
300
378
env :
301
379
OMP_NUM_THREADS : 4
302
380
ASAN_RUN : 1
381
+ ubuntu-clang-sanitizer-build-extended :
382
+ needs :
383
+ - ubuntu-clang-sanitizer-build
384
+ runs-on : ubuntu-latest
385
+ steps :
386
+ - uses : actions/checkout@v4
387
+ with :
388
+ submodules : recursive
389
+ - name : Setup environment
390
+ run : |
391
+ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
392
+ sudo apt-get update
393
+ sudo apt-get install ninja-build
394
+ sudo apt-get install mpich libmpich* mpi* openmpi-bin
395
+ sudo apt-get install python3-pip
396
+ wget https://apt.llvm.org/llvm.sh
397
+ chmod u+x llvm.sh
398
+ sudo ./llvm.sh 19 all
399
+ - name : ccache
400
+ uses :
hendrikmuhs/[email protected]
401
+ with :
402
+ key : ${{ github.job }}
403
+ create-symlink : true
404
+ - name : CMake configure
405
+ run : >
406
+ cmake -S . -B build
407
+ -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache
408
+ -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON
409
+ -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON
410
+ -D CMAKE_BUILD_TYPE=RELEASE -D ENABLE_ADDRESS_SANITIZER=ON -D ENABLE_UB_SANITIZER=ON
411
+ env :
412
+ CC : clang-19
413
+ CXX : clang++-19
414
+ - name : Ninja build
415
+ run : |
416
+ cmake --build build
417
+ env :
418
+ CC : clang-19
419
+ CXX : clang++-19
303
420
- name : Run tests (threads, num_threads=5)
304
421
run : source scripts/run_threads.sh
305
422
env :
@@ -403,6 +520,37 @@ jobs:
403
520
run : source scripts/run_threads.sh
404
521
env :
405
522
OMP_NUM_THREADS : 4
523
+ macos-clang-build-extended :
524
+ needs :
525
+ - macos-clang-build
526
+ runs-on : macOS-latest
527
+ steps :
528
+ - uses : actions/checkout@v4
529
+ with :
530
+ submodules : recursive
531
+ - name : Setup environment
532
+ run : |
533
+ brew update-reset
534
+ brew install ninja mpich llvm
535
+ brew install libomp
536
+ brew link libomp --overwrite --force
537
+ brew install openssl
538
+ brew link openssl --overwrite --force
539
+ - name : ccache
540
+ uses :
hendrikmuhs/[email protected]
541
+ with :
542
+ key : ${{ github.job }}
543
+ create-symlink : true
544
+ - name : CMake configure
545
+ run : >
546
+ cmake -S . -B build
547
+ -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache
548
+ -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON
549
+ -DCMAKE_C_FLAGS="-I$(brew --prefix)/opt/libomp/include" -DCMAKE_CXX_FLAGS="-I$(brew --prefix)/opt/libomp/include"
550
+ -D CMAKE_BUILD_TYPE=RELEASE -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON
551
+ - name : Ninja build
552
+ run : |
553
+ cmake --build build
406
554
- name : Run tests (threads, num_threads=5)
407
555
run : source scripts/run_threads.sh
408
556
env :
@@ -488,6 +636,42 @@ jobs:
488
636
run : scripts/run.bat
489
637
env :
490
638
OMP_NUM_THREADS : 4
639
+ windows-msvc-build-extended :
640
+ needs :
641
+ - windows-msvc-build
642
+ runs-on : windows-latest
643
+ defaults :
644
+ run :
645
+ shell : bash
646
+ steps :
647
+ - uses : actions/checkout@v4
648
+ with :
649
+ submodules : recursive
650
+ - name : Add msbuild to PATH
651
+
652
+ - name : Setup MPI
653
+ uses : mpi4py/setup-mpi@v1
654
+ with :
655
+ mpi : msmpi
656
+ - name : Download dependencies
657
+ run : |
658
+ choco install openssl --execution-timeout 6000
659
+ - name : Setup ccache
660
+ uses : Chocobo1/setup-ccache-action@v1
661
+ with :
662
+ windows_compile_environment : msvc
663
+ - name : CMake configure
664
+ shell : bash
665
+ run : >
666
+ cmake -S . -B build
667
+ -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache
668
+ -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON
669
+ -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON
670
+ -D CMAKE_BUILD_TYPE=RELEASE
671
+ - name : MSBuild
672
+ shell : bash
673
+ run : |
674
+ cmake --build build --config Release --parallel
491
675
- name : Run tests (threads, num_threads=5)
492
676
run : scripts/run.bat
493
677
env :
@@ -569,6 +753,34 @@ jobs:
569
753
env :
570
754
OMP_NUM_THREADS : 4
571
755
CLANG_BUILD : 1
756
+ windows-clang-build-extended :
757
+ needs :
758
+ - windows-clang-build
759
+ runs-on : windows-latest
760
+ defaults :
761
+ run :
762
+ shell : bash
763
+ steps :
764
+ - uses : actions/checkout@v4
765
+ with :
766
+ submodules : recursive
767
+ - name : Add msbuild to PATH
768
+
769
+ - name : CMake configure
770
+ run : >
771
+ cmake -S . -B build -A x64 -T ClangCL
772
+ -D USE_SEQ=ON -D USE_MPI=OFF -D USE_OMP=OFF -D USE_TBB=ON -D USE_STL=ON
773
+ -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON
774
+ -D CMAKE_BUILD_TYPE=RELEASE
775
+ env :
776
+ CC : clang-cl
777
+ CXX : clang-cl
778
+ - name : Ninja build
779
+ run : |
780
+ cmake --build build --config Release --parallel -v
781
+ env :
782
+ CC : clang-cl
783
+ CXX : clang-cl
572
784
- name : Run tests (threads, num_threads=5)
573
785
run : scripts/run.bat
574
786
env :
@@ -658,59 +870,6 @@ jobs:
658
870
run : source scripts/run_threads.sh
659
871
env :
660
872
OMP_NUM_THREADS : 4
661
- - name : Run tests (threads, num_threads=5)
662
- run : source scripts/run_threads.sh
663
- env :
664
- OMP_NUM_THREADS : 5
665
- - name : Run tests (threads, num_threads=6)
666
- run : source scripts/run_threads.sh
667
- env :
668
- OMP_NUM_THREADS : 6
669
- - name : Run tests (threads, num_threads=7)
670
- run : source scripts/run_threads.sh
671
- env :
672
- OMP_NUM_THREADS : 7
673
- - name : Run tests (threads, num_threads=8)
674
- run : source scripts/run_threads.sh
675
- env :
676
- OMP_NUM_THREADS : 8
677
- - name : Run tests (threads, num_threads=11)
678
- run : source scripts/run_threads.sh
679
- env :
680
- OMP_NUM_THREADS : 11
681
- - name : Run tests (threads, num_threads=13)
682
- run : source scripts/run_threads.sh
683
- env :
684
- OMP_NUM_THREADS : 13
685
- - name : Run tests (threads, num_threads=15)
686
- run : source scripts/run_threads.sh
687
- env :
688
- OMP_NUM_THREADS : 15
689
- - name : Run tests (threads, num_threads=16)
690
- run : source scripts/run_threads.sh
691
- env :
692
- OMP_NUM_THREADS : 16
693
- - name : Generate gcovr Coverage Data
694
- run : |
695
- cd build
696
- gcovr -r ../ --xml --output ../coverage.xml
697
- - name : Upload coverage reports to Codecov
698
-
699
- with :
700
- token : db9388ce-cf24-4840-b282-8e0070d8666f
701
- files : coverage.xml
702
- - name : Generate lcov Coverage Data
703
- run : |
704
- cd build
705
- lcov --capture --directory . --output-file ../coverage.info
706
- lcov --remove ../coverage.info '*/3rdparty/*' '/usr/*' '*/perf_tests/*' '*/func_tests/*' --output-file ../coverage.info
707
- cd ..
708
- genhtml coverage.info --output-directory cov-report
709
- - name : Upload coverage report artifact
710
- uses : actions/upload-artifact@v4
711
- with :
712
- name : cov-report
713
- path : ' cov-report'
714
873
ubuntu-gcc-build-perf-stats :
715
874
needs :
716
875
- macos-clang-build
0 commit comments