run-drc-for-cell-gds-using-magic: Enable running in a directory.
Add a command line argument to allow the check to look for the `./cells`
in a directory other than the current working directory.
Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
diff --git a/run-drc-for-cell-gds-using-magic/action.yml b/run-drc-for-cell-gds-using-magic/action.yml
index dd5e06e..d7b39d6 100644
--- a/run-drc-for-cell-gds-using-magic/action.yml
+++ b/run-drc-for-cell-gds-using-magic/action.yml
@@ -20,6 +20,10 @@
directory.
inputs:
+ top:
+ description: >-
+ What directory to run the check inside.
+ default: .
acceptable-errors-file:
description: >-
A file containing a list of newline-delimited acceptable DRC errors.
@@ -38,6 +42,8 @@
using: 'docker'
image: docker://gcr.io/skywater-pdk/actions/run-drc-for-cell-gds-using-magic:main
args:
+ - --top
+ - ${{ inputs.top }}
- --acceptable-errors-file
- ${{ inputs.acceptable-errors-file }}
- --match-directories
diff --git a/run-drc-for-cell-gds-using-magic/run_all_drc.py b/run-drc-for-cell-gds-using-magic/run_all_drc.py
index 5adcbcd..9ba9605 100644
--- a/run-drc-for-cell-gds-using-magic/run_all_drc.py
+++ b/run-drc-for-cell-gds-using-magic/run_all_drc.py
@@ -135,6 +135,13 @@
@click.command()
@click.option(
+ "-t",
+ "--top",
+ default=".",
+ help="Directory to run the process inside."
+ " Default: Current working directory"
+)
+@click.option(
"-a",
"--acceptable-errors-file",
default="/dev/null",
@@ -156,8 +163,10 @@
" thus do not cause a non-zero exit upon failure."
" Default: empty string (None of them.)"
)
-def run_all_drc(acceptable_errors_file, match_directories, known_bad):
- print("Testing cells in directories matching /%s/…" % match_directories)
+def run_all_drc(top, acceptable_errors_file, match_directories, known_bad):
+ os.chdir(top)
+ print("Testing cells in %s directories matching /%s/…" % (
+ os.getcwd(), match_directories))
global acceptable_errors
acceptable_errors_str = open(acceptable_errors_file).read()