From 8bea8c51998b88e50eda27361a2dcfb908f6a3bd Mon Sep 17 00:00:00 2001 From: Kareem Farid Date: Tue, 26 Dec 2023 13:17:21 +0200 Subject: [PATCH] Update `OpenROAD` (#2062) ~ openroad_app -> `75f2f32` ## CI ~ Always compare regression and create reproducibles ~ Always escape design name + Add tests for attached crashes by adding issues reproducibles in designs submodules and symlink them to interactive scripts under ./tests + Fix failing designs in extended test: * salsa20: setup violations * y_huff: routing congestion * aes_core: pin antenna violations benchmark mismatch --- .github/scripts/run_tests.py | 8 ++++---- .github/workflows/openlane_ci.yml | 3 +++ dependencies/tool_metadata.yml | 2 +- designs/ci | 2 +- run_designs.py | 2 +- tests/1935-cts-crash/interactive.tcl | 3 +++ tests/1935-cts-crash/reproducible | 1 + tests/2060-resizer-crash/interactive.tcl | 2 ++ tests/2060-resizer-crash/reproducible | 1 + tests/2065-resizer-crash/interactive.tcl | 2 ++ tests/2065-resizer-crash/reproducible | 1 + 11 files changed, 20 insertions(+), 7 deletions(-) create mode 100644 tests/1935-cts-crash/interactive.tcl create mode 120000 tests/1935-cts-crash/reproducible create mode 100644 tests/2060-resizer-crash/interactive.tcl create mode 120000 tests/2060-resizer-crash/reproducible create mode 100644 tests/2065-resizer-crash/interactive.tcl create mode 120000 tests/2065-resizer-crash/reproducible diff --git a/.github/scripts/run_tests.py b/.github/scripts/run_tests.py index 88e8a006e..c1c554afc 100644 --- a/.github/scripts/run_tests.py +++ b/.github/scripts/run_tests.py @@ -104,10 +104,6 @@ def cat(x): ) print("Created ./reproducible.tar.gz.") -if run_return_code != 0: - print("Run failed") - raise run_exception - difference_reports = glob.glob(os.path.join(results_folder, f"{test_name}*.rpt")) if len(difference_reports): print("Verbose differences within the benchmark:") @@ -125,4 +121,8 @@ def cat(x): print("Testing the design has failed.") exit(-1) +if run_return_code != 0: + print("Run failed") + raise run_exception + print("Done.") diff --git a/.github/workflows/openlane_ci.yml b/.github/workflows/openlane_ci.yml index 6e4fb3e41..6bc1046c5 100644 --- a/.github/workflows/openlane_ci.yml +++ b/.github/workflows/openlane_ci.yml @@ -141,6 +141,8 @@ jobs: matrix: ${{ fromJSON(needs.prepare_test_matrices.outputs.issue_regression_matrix) }} steps: - uses: actions/checkout@v3 + with: + submodules: true - name: Set up environment variables uses: ./.github/actions/set_env_variables @@ -233,6 +235,7 @@ jobs: python3 ${GITHUB_WORKSPACE}/.github/scripts/run_tests.py ${{ matrix.design.name }} - name: Escape Design Name + if: ${{ always() }} run: | design_name=${{ matrix.design.name }} escaped_design_name=${design_name//\//_} diff --git a/dependencies/tool_metadata.yml b/dependencies/tool_metadata.yml index 1f6826732..525bb41f6 100644 --- a/dependencies/tool_metadata.yml +++ b/dependencies/tool_metadata.yml @@ -56,7 +56,7 @@ in_install: false - name: openroad_app repo: https://github.com/The-OpenROAD-Project/OpenROAD - commit: 6f9b2bb8b808b1bb5831d4525d868212ae50517a + commit: 75f2f325b7a42e56a92404f33af8e96530d9b202 in_install: false - name: git repo: https://github.com/git/git diff --git a/designs/ci b/designs/ci index ec48b853d..6676a20db 160000 --- a/designs/ci +++ b/designs/ci @@ -1 +1 @@ -Subproject commit ec48b853d4958b46f559562a31363e59e89216ef +Subproject commit 6676a20db8775e0ca9a6df099e807b4951b8da6f diff --git a/run_designs.py b/run_designs.py index ccb27694b..07f1d0ec7 100755 --- a/run_designs.py +++ b/run_designs.py @@ -398,7 +398,7 @@ def run_design(designs_queue): design, f"Failed to compare with benchmark: {error_msg}", ) - flow_failure_flag = True + design_failure_flag = True if delete: try: diff --git a/tests/1935-cts-crash/interactive.tcl b/tests/1935-cts-crash/interactive.tcl new file mode 100644 index 000000000..cab7b4f2c --- /dev/null +++ b/tests/1935-cts-crash/interactive.tcl @@ -0,0 +1,3 @@ +exec bash -c "set -e && \ + cd [file dirname [file normalize [info script]]]/reproducible && \ + tar xvf issue.tar.gz && cd issue_reproducible && bash run.sh" diff --git a/tests/1935-cts-crash/reproducible b/tests/1935-cts-crash/reproducible new file mode 120000 index 000000000..d48c95737 --- /dev/null +++ b/tests/1935-cts-crash/reproducible @@ -0,0 +1 @@ +../../designs/ci/reproducibles/1935/ \ No newline at end of file diff --git a/tests/2060-resizer-crash/interactive.tcl b/tests/2060-resizer-crash/interactive.tcl new file mode 100644 index 000000000..9a4d4977a --- /dev/null +++ b/tests/2060-resizer-crash/interactive.tcl @@ -0,0 +1,2 @@ +exec bash -c "set -e && \ + cd [file dirname [file normalize [info script]]]/reproducible && bash run.sh" diff --git a/tests/2060-resizer-crash/reproducible b/tests/2060-resizer-crash/reproducible new file mode 120000 index 000000000..c7851cba6 --- /dev/null +++ b/tests/2060-resizer-crash/reproducible @@ -0,0 +1 @@ +../../designs/ci/reproducibles/2060/issue_reproducible \ No newline at end of file diff --git a/tests/2065-resizer-crash/interactive.tcl b/tests/2065-resizer-crash/interactive.tcl new file mode 100644 index 000000000..9a4d4977a --- /dev/null +++ b/tests/2065-resizer-crash/interactive.tcl @@ -0,0 +1,2 @@ +exec bash -c "set -e && \ + cd [file dirname [file normalize [info script]]]/reproducible && bash run.sh" diff --git a/tests/2065-resizer-crash/reproducible b/tests/2065-resizer-crash/reproducible new file mode 120000 index 000000000..8ff8a7825 --- /dev/null +++ b/tests/2065-resizer-crash/reproducible @@ -0,0 +1 @@ +../../designs/ci/reproducibles/2065/issue_reproducible \ No newline at end of file