@@ -2,13 +2,16 @@ name: Continuous Integration
22
33on :
44 push :
5- branches :
6- - master
7- - develop
8-
5+ branches : [ main, develop ]
96 pull_request :
10- branches :
11- - develop
7+ branches : [ develop ]
8+ workflow_dispatch :
9+ schedule :
10+ - cron : " 30 15 * * 0" # Every Sunday at 15:30 UTC
11+
12+ concurrency :
13+ group : ${{ github.workflow }}-${{ github.ref }}
14+ cancel-in-progress : true
1215
1316jobs :
1417 lint :
4750 steps :
4851 - uses : actions/checkout@v4
4952
50- - name : Install LCov
51- run : sudo apt-get update -q
52- && sudo apt-get install lcov -q -y
53+ # - name: Install LCov
54+ # run: sudo apt-get update -q
55+ # && sudo apt-get install lcov -q -y
5356
5457 - name : Install Python
5558 uses : actions/setup-python@v5
6265 vcvarsall : ${{ contains(matrix.os, 'windows') }}
6366 clangformat : true
6467 clangtidy : true
65- cmake : 4.0.4
68+ cmake : 4.2.0
6669 ninja : 1.13.0
6770 gcovr : true
6871
7376 run : cmake --build build/coverage -j 2
7477
7578 - name : Test
76- working-directory : build/coverage
77- run : ctest --output-on-failure --no-tests=error -j 2
79+ run : |
80+ cmake --install build/coverage --prefix $PWD/stagedir
81+ ctest --test-dir build/coverage --output-on-failure --no-tests=error -j 2
7882
7983 - name : Process coverage info
8084 # run: cmake --build build/coverage -t coverage
@@ -106,7 +110,7 @@ jobs:
106110 vcvarsall : ${{ contains(matrix.os, 'windows') }}
107111 clangformat : true
108112 clangtidy : true
109- cmake : 4.0.4
113+ cmake : 4.2.0
110114 ninja : 1.13.0
111115 gcovr : true
112116
@@ -117,15 +121,16 @@ jobs:
117121 run : cmake --build build/sanitize -j 2
118122
119123 - name : Test
120- working-directory : build/sanitize
121124 env :
122125 ASAN_OPTIONS : " strict_string_checks=1:\
123126 detect_stack_use_after_return=1:\
124127 check_initialization_order=1:\
125128 strict_init_order=1:\
126129 detect_leaks=1"
127130 UBSAN_OPTIONS : print_stacktrace=1
128- run : ctest --output-on-failure --no-tests=error -j 2
131+ run : |
132+ cmake --install build/sanitize --prefix $PWD/stagedir
133+ ctest --test-dir build/sanitize --output-on-failure --no-tests=error -j 2
129134
130135 test :
131136 needs : [lint]
@@ -158,12 +163,12 @@ jobs:
158163 uses : actions/setup-python@v5
159164 with : { python-version: "3.13" }
160165
161- - name : Install llvm-20
166+ - name : Install llvm
162167 if : matrix.os == 'macos-15'
163168 run : |
164169 brew install gcovr cmake ninja llvm
165- export PATH=$(brew --prefix llvm@20 )/bin:$PATH && echo "PATH=$PATH" >> $GITHUB_ENV
166- export LDFLAGS=-L$(brew --prefix llvm@20 )/lib/c++ -lc++abi -lc++ && echo "LDFLAGS=$LDFLAGS" >> $GITHUB_ENV
170+ export PATH=$(brew --prefix llvm)/bin:$PATH && echo "PATH=$PATH" >> $GITHUB_ENV
171+ export LDFLAGS=-L$(brew --prefix llvm)/lib/c++ -lc++abi -lc++ && echo "LDFLAGS=$LDFLAGS" >> $GITHUB_ENV
167172 echo "CXX=clang++" >> $GITHUB_ENV
168173
169174 - name : Setup Cpp
@@ -174,7 +179,7 @@ jobs:
174179 vcvarsall : ${{ contains(matrix.os, 'windows') }}
175180 clangformat : true
176181 clangtidy : true
177- cmake : 4.0.3
182+ cmake : 4.2.0
178183 ninja : 1.13.0
179184 gcovr : true
180185
0 commit comments