@@ -12,7 +12,27 @@ concurrency:
12
12
cancel-in-progress : ${{ github.ref != 'refs/heads/master' }}
13
13
14
14
jobs :
15
+ clang-format :
16
+ runs-on : ubuntu-latest
17
+ steps :
18
+ - uses : actions/checkout@v4
19
+
20
+ with :
21
+ source : ' .'
22
+ python-lint :
23
+ runs-on : ubuntu-latest
24
+ steps :
25
+ - uses : actions/checkout@v4
26
+ - name : Setup environment
27
+ run : |
28
+ python3 -m pip install flake8
29
+ - name : Run linter
30
+ run : |
31
+ python3 -m flake8 .
15
32
ubuntu-gcc-build :
33
+ needs :
34
+ - clang-format
35
+ - python-lint
16
36
runs-on : ubuntu-latest
17
37
steps :
18
38
- uses : actions/checkout@v4
@@ -113,6 +133,9 @@ jobs:
113
133
env :
114
134
OMP_NUM_THREADS : 16
115
135
ubuntu-clang-build :
136
+ needs :
137
+ - clang-format
138
+ - python-lint
116
139
runs-on : ubuntu-latest
117
140
steps :
118
141
- uses : actions/checkout@v4
@@ -213,6 +236,8 @@ jobs:
213
236
env :
214
237
OMP_NUM_THREADS : 16
215
238
ubuntu-clang-sanitizer-build :
239
+ needs :
240
+ - ubuntu-clang-build
216
241
runs-on : ubuntu-latest
217
242
steps :
218
243
- uses : actions/checkout@v4
@@ -316,6 +341,9 @@ jobs:
316
341
OMP_NUM_THREADS : 16
317
342
ASAN_RUN : 1
318
343
macos-clang-build :
344
+ needs :
345
+ - clang-format
346
+ - python-lint
319
347
runs-on : macOS-latest
320
348
steps :
321
349
- uses : actions/checkout@v4
@@ -408,6 +436,9 @@ jobs:
408
436
env :
409
437
OMP_NUM_THREADS : 16
410
438
windows-msvc-build :
439
+ needs :
440
+ - clang-format
441
+ - python-lint
411
442
runs-on : windows-latest
412
443
defaults :
413
444
run :
@@ -490,6 +521,9 @@ jobs:
490
521
env :
491
522
OMP_NUM_THREADS : 16
492
523
windows-clang-build :
524
+ needs :
525
+ - clang-format
526
+ - python-lint
493
527
runs-on : windows-latest
494
528
defaults :
495
529
run :
@@ -576,6 +610,8 @@ jobs:
576
610
OMP_NUM_THREADS : 16
577
611
CLANG_BUILD : 1
578
612
ubuntu-gcc-build-codecov :
613
+ needs :
614
+ - ubuntu-gcc-build
579
615
runs-on : ubuntu-latest
580
616
steps :
581
617
- uses : actions/checkout@v4
@@ -675,3 +711,61 @@ jobs:
675
711
with :
676
712
name : cov-report
677
713
path : ' cov-report'
714
+ ubuntu-gcc-build-perf-stats :
715
+ needs :
716
+ - macos-clang-build
717
+ - ubuntu-clang-sanitizer-build
718
+ - ubuntu-gcc-build-codecov
719
+ - windows-clang-build
720
+ - windows-msvc-build
721
+ runs-on : ubuntu-latest
722
+ steps :
723
+ - uses : actions/checkout@v4
724
+ with :
725
+ submodules : recursive
726
+ - name : Setup environment
727
+ run : |
728
+ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
729
+ sudo apt-get update
730
+ sudo apt-get install gcc-12 g++-12
731
+ sudo apt-get install ninja-build
732
+ sudo apt-get install mpich libmpich* mpi* openmpi-bin
733
+ sudo apt-get install libomp-dev
734
+ sudo apt-get install valgrind
735
+ python3 -m pip install xlsxwriter
736
+ - name : ccache
737
+ uses :
hendrikmuhs/[email protected]
738
+ with :
739
+ key : ${{ github.job }}
740
+ create-symlink : true
741
+ - name : CMake configure
742
+ run : >
743
+ cmake -S . -B build
744
+ -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache
745
+ -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON
746
+ -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON
747
+ -D CMAKE_BUILD_TYPE=RELEASE
748
+ env :
749
+ CC : gcc-12
750
+ CXX : g++-12
751
+ - name : Ninja build
752
+ run : |
753
+ cmake --build build
754
+ env :
755
+ CC : gcc-12
756
+ CXX : g++-12
757
+ - name : Run perf count checker
758
+ run : |
759
+ source scripts/run_perf_count_checker.sh
760
+ - name : Run perf tests
761
+ run : |
762
+ source scripts/generate_perf_results.sh
763
+ - name : Archive results
764
+ uses : montudor/action-zip@v1
765
+ with :
766
+ args : zip -qq -r perf-stat.zip build/perf_stat_dir
767
+ - name : Upload results
768
+
769
+ with :
770
+ name : perf-stat
771
+ path : perf-stat.zip
0 commit comments