74
74
name : ' B: Building VTR Release'
75
75
runs-on : ubuntu-24.04
76
76
steps :
77
+ - uses : actions/checkout@v4
78
+ with :
79
+ submodules : ' true'
80
+
77
81
- name : Get number of CPU cores
78
82
uses : SimenB/github-actions-cpu-cores@v2
79
83
id : cpu-cores
@@ -108,6 +112,48 @@ jobs:
108
112
ccache -s
109
113
110
114
115
+ BuildVTRWithOdin :
116
+ name : ' B: Building VTR Release With Odin'
117
+ runs-on : ubuntu-24.04
118
+ steps :
119
+ - uses : actions/checkout@v4
120
+ with :
121
+ submodules : ' true'
122
+
123
+ - name : Get number of CPU cores
124
+ uses : SimenB/github-actions-cpu-cores@v2
125
+ id : cpu-cores
126
+
127
+ - name : Install dependencies
128
+ run : ./.github/scripts/install_dependencies.sh
129
+
130
+ -
uses :
hendrikmuhs/[email protected]
131
+
132
+ - name : Build
133
+ env :
134
+ CMAKE_PARAMS : " -DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_IPO_BUILD=off -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DWITH_PARMYS=OFF -DWITH_ODIN=on"
135
+ NUM_PROC : ${{ steps.cpu-cores.outputs.count }}
136
+ run : |
137
+ export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
138
+ make -j${{ steps.cpu-cores.outputs.count}} release
139
+
140
+ - name : Pack Build
141
+ shell : bash
142
+ run : |
143
+ tar -czvf build.tar.gz --exclude='CMakeFiles' --exclude='*.a' --exclude='*.cmake' build/
144
+
145
+ - name : Store Build Artifact
146
+ uses : actions/upload-artifact@v4
147
+ with :
148
+ name : build-release-with-odin.tar.gz
149
+ path : build.tar.gz
150
+ retention-days : 1
151
+
152
+ - name : Print CCache Statistics
153
+ run : |
154
+ ccache -s
155
+
156
+
111
157
Format :
112
158
runs-on : ubuntu-24.04
113
159
strategy :
@@ -272,9 +318,21 @@ jobs:
272
318
make -j${{ steps.cpu-cores.outputs.count}}
273
319
./run_reg_test.py vtr_reg_basic -show_failures -j${{ steps.cpu-cores.outputs.count}}
274
320
321
+ - name : ' Test with VTR_ENABLE_DEBUG_LOGGING enabled'
322
+ if : success() || failure()
323
+ env :
324
+ CMAKE_PARAMS : " ${{ env.COMMON_CMAKE_PARAMS }} -DVTR_ENABLE_DEBUG_LOGGING=on"
325
+ NUM_PROC : ${{ steps.cpu-cores.outputs.count }}
326
+ run : |
327
+ rm -f build/CMakeCache.txt
328
+ export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
329
+ make -j${{ steps.cpu-cores.outputs.count}}
330
+ ./run_reg_test.py vtr_reg_basic -show_failures -j${{ steps.cpu-cores.outputs.count}}
331
+
275
332
276
333
Regression :
277
334
runs-on : ubuntu-24.04
335
+ needs : [BuildVTR]
278
336
strategy :
279
337
fail-fast : false
280
338
matrix :
@@ -285,29 +343,83 @@ jobs:
285
343
suite : ' vtr_reg_basic' ,
286
344
extra_pkgs : " "
287
345
},
288
- {
289
- name : ' Basic_odin' ,
290
- params : ' -DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_IPO_BUILD=off -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DWITH_PARMYS=OFF -DWITH_ODIN=on' ,
291
- suite : ' vtr_reg_basic_odin' ,
292
- extra_pkgs : " "
293
- },
294
- {
295
- name : ' Basic with VTR_ENABLE_DEBUG_LOGGING' ,
296
- params : ' -DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_IPO_BUILD=off -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVTR_ENABLE_DEBUG_LOGGING=on' ,
297
- suite : ' vtr_reg_basic' ,
298
- extra_pkgs : " "
299
- },
300
- {
301
- name : ' Basic_odin with VTR_ENABLE_DEBUG_LOGGING' ,
302
- params : ' -DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_IPO_BUILD=off -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVTR_ENABLE_DEBUG_LOGGING=on -DWITH_PARMYS=OFF -DWITH_ODIN=on' ,
303
- suite : ' vtr_reg_basic_odin' ,
304
- extra_pkgs : " "
305
- },
306
346
{
307
347
name : ' Strong' ,
308
348
params : ' -DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_IPO_BUILD=off -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on' ,
309
349
suite : ' vtr_reg_strong' ,
310
350
extra_pkgs : " libeigen3-dev"
351
+ }
352
+ ]
353
+ name : ' R: ${{ matrix.name }}'
354
+ steps :
355
+
356
+ - uses : actions/setup-python@v5
357
+ with :
358
+ python-version : 3.12.3
359
+
360
+ - uses : actions/checkout@v4
361
+ with :
362
+ submodules : ' true'
363
+
364
+ - name : Get number of CPU cores
365
+ uses : SimenB/github-actions-cpu-cores@v2
366
+ id : cpu-cores
367
+
368
+ - name : Install dependencies
369
+ run : ./.github/scripts/install_dependencies.sh
370
+
371
+ - name : Install external libraries
372
+ run : sudo apt install -y ${{ matrix.extra_pkgs }}
373
+ if : ${{ matrix.extra_pkgs }}
374
+
375
+ - name : Download Build Artifact
376
+ uses : actions/download-artifact@v4
377
+ with :
378
+ name : build-release.tar.gz
379
+
380
+ - name : Unpack Build
381
+ shell : bash
382
+ run : |
383
+ tar -xvzf build.tar.gz
384
+
385
+ - name : Test
386
+ run : |
387
+ ./run_reg_test.py ${{ matrix.suite }} -show_failures -j${{ steps.cpu-cores.outputs.count}}
388
+
389
+ - name : Upload regression run files
390
+ if : ${{ !cancelled() }}
391
+ uses : actions/upload-artifact@v4
392
+ with :
393
+ name : ${{matrix.name}}_run_files
394
+ path : |
395
+ vtr_flow/**/*.out
396
+ # vtr_flow/**/*.blif # Removed since it was taking too much space and was hardly used.
397
+ vtr_flow/**/*.p
398
+ vtr_flow/**/*.net
399
+ vtr_flow/**/*.r
400
+
401
+ - name : Upload regression results
402
+ if : ${{ !cancelled() }}
403
+ uses : actions/upload-artifact@v4
404
+ with :
405
+ name : ${{matrix.name}}_results
406
+ path : |
407
+ vtr_flow/**/*.log
408
+ vtr_flow/**/parse_results*.txt
409
+
410
+
411
+ RegressionWithOdin :
412
+ runs-on : ubuntu-24.04
413
+ needs : [BuildVTRWithOdin]
414
+ strategy :
415
+ fail-fast : false
416
+ matrix :
417
+ include : [
418
+ {
419
+ name : ' Basic_odin' ,
420
+ params : ' -DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_IPO_BUILD=off -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DWITH_PARMYS=OFF -DWITH_ODIN=on' ,
421
+ suite : ' vtr_reg_basic_odin' ,
422
+ extra_pkgs : " "
311
423
},
312
424
{
313
425
name : ' Strong_odin' ,
@@ -344,15 +456,18 @@ jobs:
344
456
run : sudo apt install -y ${{ matrix.extra_pkgs }}
345
457
if : ${{ matrix.extra_pkgs }}
346
458
347
- -
uses :
hendrikmuhs/[email protected]
459
+ - name : Download Build Artifact
460
+ uses : actions/download-artifact@v4
461
+ with :
462
+ name : build-release-with-odin.tar.gz
463
+
464
+ - name : Unpack Build
465
+ shell : bash
466
+ run : |
467
+ tar -xvzf build.tar.gz
348
468
349
469
- name : Test
350
- env :
351
- CMAKE_PARAMS : ${{ matrix.params }}
352
- NUM_PROC : ${{ steps.cpu-cores.outputs.count }}
353
470
run : |
354
- export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
355
- ./.github/scripts/build.sh
356
471
./run_reg_test.py ${{ matrix.suite }} -show_failures -j${{ steps.cpu-cores.outputs.count}}
357
472
358
473
- name : Upload regression run files
@@ -376,6 +491,7 @@ jobs:
376
491
vtr_flow/**/*.log
377
492
vtr_flow/**/parse_results*.txt
378
493
494
+
379
495
Sanitized :
380
496
runs-on : ubuntu-24.04
381
497
strategy :
@@ -467,6 +583,7 @@ jobs:
467
583
ODINII :
468
584
name : ' ODIN-II Basic Test'
469
585
runs-on : ubuntu-24.04
586
+ needs : [BuildVTRWithOdin]
470
587
steps :
471
588
472
589
- uses : actions/setup-python@v5
@@ -483,17 +600,19 @@ jobs:
483
600
- name : Install dependencies
484
601
run : ./.github/scripts/install_dependencies.sh
485
602
486
- -
uses :
hendrikmuhs/[email protected]
603
+ - name : Download Build Artifact
604
+ uses : actions/download-artifact@v4
605
+ with :
606
+ name : build-release-with-odin.tar.gz
607
+
608
+ - name : Unpack Build
609
+ shell : bash
610
+ run : |
611
+ tar -xvzf build.tar.gz
487
612
488
613
- name : Test
489
- env :
490
- CMAKE_PARAMS : ' -DVTR_ASSERT_LEVEL=3 -DVTR_ENABLE_SANITIZE=on -DVTR_IPO_BUILD=off -DWITH_BLIFEXPLORER=on -DWITH_PARMYS=OFF -DWITH_ODIN=on'
491
- BUILD_TYPE : debug
492
- NUM_PROC : ${{ steps.cpu-cores.outputs.count }}
493
614
run : |
494
615
sudo sysctl -w vm.mmap_rnd_bits=28
495
- export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
496
- ./.github/scripts/build.sh
497
616
./run_reg_test.py odin_reg_basic -show_failures -j${{ steps.cpu-cores.outputs.count }}
498
617
499
618
@@ -609,16 +728,19 @@ jobs:
609
728
needs :
610
729
- Build
611
730
- BuildVTR
731
+ - BuildVTRWithOdin
612
732
- Format
613
733
- VerifyTestSuites
614
734
- UnitTests
615
735
- BuildVariations
616
736
- Regression
737
+ - RegressionWithOdin
617
738
- Sanitized
618
739
- Parmys
619
740
- ODINII
620
741
- VQM2BLIF
621
742
- Compatibility
743
+ - JammyCompatibility
622
744
runs-on : ubuntu-24.04
623
745
steps :
624
746
0 commit comments