@@ -157,6 +157,93 @@ jobs:
157
157
./.github/scripts/build.sh
158
158
159
159
160
+ # This test builds different variations of VTR (with different CMake Params)
161
+ # and ensures that they can run the basic regression tests. This also ensures
162
+ # that these build variations are warning clean.
163
+ BuildVariations :
164
+ runs-on : ubuntu-24.04
165
+ strategy :
166
+ name : ' B: Build Variations'
167
+ env :
168
+ # For the CI, we want all build variations to be warning clean.
169
+ # NOTE: Need to turn IPO off due to false warnings being produced.
170
+ COMMON_CMAKE_PARAMS : ' -DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_IPO_BUILD=off'
171
+ steps :
172
+
173
+ - uses : actions/setup-python@v5
174
+ with :
175
+ python-version : 3.12.3
176
+
177
+ - uses : actions/checkout@v4
178
+ with :
179
+ submodules : ' true'
180
+
181
+ - name : ' Get number of CPU cores'
182
+ uses : SimenB/github-actions-cpu-cores@v2
183
+ id : cpu-cores
184
+
185
+ - name : ' Install dependencies'
186
+ run : ./.github/scripts/install_dependencies.sh
187
+
188
+ - name : ' ccache'
189
+ uses :
hendrikmuhs/[email protected]
190
+
191
+ - name : ' Test with VTR_ASSERT_LEVEL 4'
192
+ if : success() || failure()
193
+ env :
194
+ CMAKE_PARAMS : " ${{ env.COMMON_CMAKE_PARAMS }} -DVTR_ASSERT_LEVEL=4"
195
+ NUM_PROC : ${{ steps.cpu-cores.outputs.count }}
196
+ run : |
197
+ rm -f build/CMakeCache.txt
198
+ export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
199
+ make -j${{ steps.cpu-cores.outputs.count}}
200
+ ./run_reg_test.py vtr_reg_basic -show_failures -j${{ steps.cpu-cores.outputs.count}}
201
+
202
+ - name : ' Test with NO_GRAPHICS'
203
+ if : success() || failure()
204
+ env :
205
+ CMAKE_PARAMS : " ${{ env.COMMON_CMAKE_PARAMS }} -DVPR_USE_EZGL=off"
206
+ NUM_PROC : ${{ steps.cpu-cores.outputs.count }}
207
+ run : |
208
+ rm -f build/CMakeCache.txt
209
+ export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
210
+ make -j${{ steps.cpu-cores.outputs.count}}
211
+ ./run_reg_test.py vtr_reg_basic -show_failures -j${{ steps.cpu-cores.outputs.count}}
212
+
213
+ - name : ' Test with NO_SERVER'
214
+ if : success() || failure()
215
+ env :
216
+ CMAKE_PARAMS : " ${{ env.COMMON_CMAKE_PARAMS }} -DVPR_USE_SERVER=off"
217
+ NUM_PROC : ${{ steps.cpu-cores.outputs.count }}
218
+ run : |
219
+ rm -f build/CMakeCache.txt
220
+ export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
221
+ make -j${{ steps.cpu-cores.outputs.count}}
222
+ ./run_reg_test.py vtr_reg_basic -show_failures -j${{ steps.cpu-cores.outputs.count}}
223
+
224
+ - name : ' Test with CAPNPROTO disabled'
225
+ if : success() || failure()
226
+ env :
227
+ CMAKE_PARAMS : " ${{ env.COMMON_CMAKE_PARAMS }} -DVTR_ENABLE_CAPNPROTO=off"
228
+ NUM_PROC : ${{ steps.cpu-cores.outputs.count }}
229
+ run : |
230
+ rm -f build/CMakeCache.txt
231
+ export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
232
+ make -j${{ steps.cpu-cores.outputs.count}}
233
+ ./run_reg_test.py vtr_reg_basic -show_failures -j${{ steps.cpu-cores.outputs.count}}
234
+
235
+ - name : ' Test with serial VPR_EXECUTION_ENGINE'
236
+ if : success() || failure()
237
+ env :
238
+ CMAKE_PARAMS : " ${{ env.COMMON_CMAKE_PARAMS }} -DVPR_EXECUTION_ENGINE=serial -DTATUM_EXECUTION_ENGINE=serial"
239
+ NUM_PROC : ${{ steps.cpu-cores.outputs.count }}
240
+ run : |
241
+ rm -f build/CMakeCache.txt
242
+ export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
243
+ make -j${{ steps.cpu-cores.outputs.count}}
244
+ ./run_reg_test.py vtr_reg_basic -show_failures -j${{ steps.cpu-cores.outputs.count}}
245
+
246
+
160
247
Regression :
161
248
runs-on : ubuntu-24.04
162
249
strategy :
@@ -169,42 +256,12 @@ jobs:
169
256
suite : ' vtr_reg_basic' ,
170
257
extra_pkgs : " "
171
258
},
172
- {
173
- name : ' Basic with highest assertion level' ,
174
- params : ' -DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_IPO_BUILD=off -DVTR_ASSERT_LEVEL=4 -DWITH_BLIFEXPLORER=on' ,
175
- suite : ' vtr_reg_basic' ,
176
- extra_pkgs : " "
177
- },
178
259
{
179
260
name : ' Basic_odin' ,
180
261
params : ' -DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_IPO_BUILD=off -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DWITH_PARMYS=OFF -DWITH_ODIN=on' ,
181
262
suite : ' vtr_reg_basic_odin' ,
182
263
extra_pkgs : " "
183
264
},
184
- {
185
- name : ' Basic with NO_GRAPHICS' ,
186
- params : ' -DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_IPO_BUILD=off -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVPR_USE_EZGL=off' ,
187
- suite : ' vtr_reg_basic' ,
188
- extra_pkgs : " "
189
- },
190
- {
191
- name : ' Basic with NO_SERVER' ,
192
- params : ' -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVPR_USE_EZGL=on -DVPR_USE_SERVER=off' ,
193
- suite : ' vtr_reg_basic' ,
194
- extra_pkgs : " "
195
- },
196
- {
197
- name : ' Basic with CAPNPROTO disabled' ,
198
- params : ' -DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_IPO_BUILD=off -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVTR_ENABLE_CAPNPROTO=off' ,
199
- suite : ' vtr_reg_basic' ,
200
- extra_pkgs : " "
201
- },
202
- {
203
- name : ' Basic with serial VPR_EXECUTION_ENGINE' ,
204
- params : ' -DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_IPO_BUILD=off -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVPR_EXECUTION_ENGINE=serial -DTATUM_EXECUTION_ENGINE=serial' ,
205
- suite : ' vtr_reg_basic' ,
206
- extra_pkgs : " "
207
- },
208
265
{
209
266
name : ' Basic with VTR_ENABLE_DEBUG_LOGGING' ,
210
267
params : ' -DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_IPO_BUILD=off -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVTR_ENABLE_DEBUG_LOGGING=on' ,
@@ -518,6 +575,7 @@ jobs:
518
575
- Format
519
576
- UniTests
520
577
- Warnings
578
+ - BuildVariations
521
579
- Regression
522
580
- Sanitized
523
581
- Parmys
0 commit comments