The-OpenROAD-Project / bazel-orfs

BSD 3-Clause "New" or "Revised" License
5 stars 5 forks source link

add make issue to CI #102

Closed oharboe closed 2 months ago

oharboe commented 3 months ago
$ bazel run tag_array_64x184_floorplan_deps `pwd`/build
$ build/make ISSUE_TAG=mytestcase floorplan_issue

Needs this fix https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/pull/2249

Not needed, but see suggested reduction in verbosity https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/pull/2250

There should be no errors or warnings:

mkdir -p .//objects/asap7/tag_array_64x184/base
bash: line 1: V: command not found
make: [external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/Makefile:369: versions.txt] Error 127 (ignored)
external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/util/makeIssue.sh floorplan
Creating run-me-tag_array_64x184-asap7-base.sh script
Creating vars-tag_array_64x184-asap7-base.sh/tcl script
Archiving issue to floorplan_tag_array_64x184_asap7_base_2024-08-15_07-06.tar.gz
Using pigz to compress tar file
++ for f in $ISSUE_CP_FILES
++ echo test/io-sram.tcl
++ for f in $ISSUE_CP_FILES
++ echo external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/lib/NLDM/asap7sc7p5t_AO_RVT_FF_nldm_211120.lib.gz
++ for f in $ISSUE_CP_FILES
++ echo external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/lib/NLDM/asap7sc7p5t_INVBUF_RVT_FF_nldm_220122.lib.gz
++ for f in $ISSUE_CP_FILES
++ echo external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/lib/NLDM/asap7sc7p5t_OA_RVT_FF_nldm_211120.lib.gz
++ sort
++ for f in $ISSUE_CP_FILES
++ echo external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/lib/NLDM/asap7sc7p5t_SIMPLE_RVT_FF_nldm_211120.lib.gz
++ for f in $ISSUE_CP_FILES
++ echo external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/lib/NLDM/asap7sc7p5t_SEQ_RVT_FF_nldm_220123.lib
++ for f in $ISSUE_CP_FILES
++ echo external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/lef/asap7sc7p5t_28_R_1x_220121a.lef
++ for f in $ISSUE_CP_FILES
++ echo external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/lef/asap7_tech_1x_201209.lef
++ for f in $ISSUE_CP_FILES
++ echo external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/yoSys/cells_clkgate_R.v
++ for f in $ISSUE_CP_FILES
++ echo external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/yoSys/cells_adders_R.v
++ for f in $ISSUE_CP_FILES
++ echo external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/yoSys/cells_latch_R.v
++ for f in $ISSUE_CP_FILES
++ echo external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/openRoad/make_tracks.tcl
++ for f in $ISSUE_CP_FILES
++ echo external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/openRoad/tapcell.tcl
++ for f in $ISSUE_CP_FILES
++ echo external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/openRoad/pdn/grid_strategy-M1-M2-M5-M6.tcl
++ for f in $ISSUE_CP_FILES
++ echo external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/rcx_patterns.rules
++ for f in $ISSUE_CP_FILES
++ echo external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/setRC.tcl
++ for f in $ISSUE_CP_FILES
++ echo external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/util/def2stream.py
++ for f in $ISSUE_CP_FILES
++ echo run-me-tag_array_64x184-asap7-base.sh
++ for f in $ISSUE_CP_FILES
++ echo vars-tag_array_64x184-asap7-base.sh
++ for f in $ISSUE_CP_FILES
++ echo vars-tag_array_64x184-asap7-base.tcl
++ for f in $ISSUE_CP_FILES
++ echo vars-tag_array_64x184-asap7-base.gdb
++ uniq
+ tar --use-compress-program=pigz --ignore-failed-read -chf floorplan_tag_array_64x184_asap7_base_2024-08-15_07-06.tar.gz '--transform=s|^|floorplan_tag_array_64x184_asap7_base_2024-08-15_07-06/|S' '--transform=s|^floorplan_tag_array_64x184_asap7_base_2024-08-15_07-06external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/|floorplan_tag_array_64x184_asap7_base_2024-08-15_07-06/|S' config.mk external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/config.mk .//logs/asap7/tag_array_64x184/base .//objects/asap7/tag_array_64x184/base .//reports/asap7/tag_array_64x184/base .//results/asap7/tag_array_64x184/base external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/scripts external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/lef/asap7sc7p5t_28_R_1x_220121a.lef external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/lef/asap7_tech_1x_201209.lef external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/lib/NLDM/asap7sc7p5t_AO_RVT_FF_nldm_211120.lib.gz external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/lib/NLDM/asap7sc7p5t_INVBUF_RVT_FF_nldm_220122.lib.gz external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/lib/NLDM/asap7sc7p5t_OA_RVT_FF_nldm_211120.lib.gz external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/lib/NLDM/asap7sc7p5t_SEQ_RVT_FF_nldm_220123.lib external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/lib/NLDM/asap7sc7p5t_SIMPLE_RVT_FF_nldm_211120.lib.gz external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/openRoad/make_tracks.tcl external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/openRoad/pdn/grid_strategy-M1-M2-M5-M6.tcl external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/openRoad/tapcell.tcl external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/rcx_patterns.rules external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/setRC.tcl external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/yoSys/cells_adders_R.v external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/yoSys/cells_clkgate_R.v external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/platforms/asap7/yoSys/cells_latch_R.v external/_main~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/flow/util/def2stream.py run-me-tag_array_64x184-asap7-base.sh test/io-sram.tcl vars-tag_array_64x184-asap7-base.gdb vars-tag_array_64x184-asap7-base.sh vars-tag_array_64x184-asap7-base.tcl
tar: .//logs/asap7/tag_array_64x184/base: Warning: Cannot stat: No such file or directory
tar: .//reports/asap7/tag_array_64x184/base: Warning: Cannot stat: No such file or directory
+ '[' -v EXCLUDE_PLATFORM ']'
+ '[' '!' -z ']'

Test:

mkdir foo
cd foo
tar --strip-components=1 -xzvf ../build/flooorplan_mytestcase.tar.gz
# 
../build/make print-OPENROAD_EXE
OPENROAD_EXE = external/bazel-orfs~~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/openroad
export PATH=$PATH:`pwd`/../build/external/bazel-orfs~~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/
# Exit without error
echo exit | ./run-me-gcd-nangate45-base.sh

There should be a good way for users to add openroad from the bazel-orfs setup to the path and run it, but there's some sort of snag:

$ ls build/external/bazel-orfs~~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/openroad
build/external/bazel-orfs~~orfs_repositories~docker_orfs/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/openroad
oharboe commented 3 months ago

@jeffng-or FYI

oharboe commented 2 months ago

out of sight, out of mind for now