7474 name : ' B: Building VTR Release'
7575 runs-on : ubuntu-24.04
7676 steps :
77+ - uses : actions/checkout@v4
78+ with :
79+ submodules : ' true'
80+
7781 - name : Get number of CPU cores
7882 uses : SimenB/github-actions-cpu-cores@v2
7983 id : cpu-cores
@@ -108,6 +112,48 @@ jobs:
108112 ccache -s
109113
110114
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+
111157 Format :
112158 runs-on : ubuntu-24.04
113159 strategy :
@@ -272,9 +318,21 @@ jobs:
272318 make -j${{ steps.cpu-cores.outputs.count}}
273319 ./run_reg_test.py vtr_reg_basic -show_failures -j${{ steps.cpu-cores.outputs.count}}
274320
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+
275332
276333 Regression :
277334 runs-on : ubuntu-24.04
335+ needs : [BuildVTR]
278336 strategy :
279337 fail-fast : false
280338 matrix :
@@ -285,29 +343,83 @@ jobs:
285343 suite : ' vtr_reg_basic' ,
286344 extra_pkgs : " "
287345 },
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- },
306346 {
307347 name : ' Strong' ,
308348 params : ' -DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_IPO_BUILD=off -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on' ,
309349 suite : ' vtr_reg_strong' ,
310350 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 : " "
311423 },
312424 {
313425 name : ' Strong_odin' ,
@@ -344,15 +456,18 @@ jobs:
344456 run : sudo apt install -y ${{ matrix.extra_pkgs }}
345457 if : ${{ matrix.extra_pkgs }}
346458
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
348468
349469 - name : Test
350- env :
351- CMAKE_PARAMS : ${{ matrix.params }}
352- NUM_PROC : ${{ steps.cpu-cores.outputs.count }}
353470 run : |
354- export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
355- ./.github/scripts/build.sh
356471 ./run_reg_test.py ${{ matrix.suite }} -show_failures -j${{ steps.cpu-cores.outputs.count}}
357472
358473 - name : Upload regression run files
@@ -376,6 +491,7 @@ jobs:
376491 vtr_flow/**/*.log
377492 vtr_flow/**/parse_results*.txt
378493
494+
379495 Sanitized :
380496 runs-on : ubuntu-24.04
381497 strategy :
@@ -467,6 +583,7 @@ jobs:
467583 ODINII :
468584 name : ' ODIN-II Basic Test'
469585 runs-on : ubuntu-24.04
586+ needs : [BuildVTRWithOdin]
470587 steps :
471588
472589 - uses : actions/setup-python@v5
@@ -483,17 +600,19 @@ jobs:
483600 - name : Install dependencies
484601 run : ./.github/scripts/install_dependencies.sh
485602
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
487612
488613 - 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 }}
493614 run : |
494615 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
497616 ./run_reg_test.py odin_reg_basic -show_failures -j${{ steps.cpu-cores.outputs.count }}
498617
499618
@@ -609,16 +728,19 @@ jobs:
609728 needs :
610729 - Build
611730 - BuildVTR
731+ - BuildVTRWithOdin
612732 - Format
613733 - VerifyTestSuites
614734 - UnitTests
615735 - BuildVariations
616736 - Regression
737+ - RegressionWithOdin
617738 - Sanitized
618739 - Parmys
619740 - ODINII
620741 - VQM2BLIF
621742 - Compatibility
743+ - JammyCompatibility
622744 runs-on : ubuntu-24.04
623745 steps :
624746
0 commit comments