... openroad is not compatible with older versions and
the default compilers resort to is c++17.
Last change that finally fixes#9937
Signed-off-by: Henner Zeller <h.zeller@acm.org>
Instead of spinning up a separate Bazel workspace (minutes), inspect
BUILD.bazel and MODULE.bazel directly with py_test (0.1s each).
7 individual tests: visibility checks for openroad, openroad_py,
openroad_lib, and dev_dependency checks for rules_shell, rules_pkg,
rules_verilator, verilator.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Replace monolithic visibility_test.sh (7 sequential bazelisk invocations)
with 7 individual sh_test targets that can run in parallel and be
debugged independently.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
src/web uses @npm for bundled assets, so aspect_rules_js, rules_nodejs,
and their extensions (node, npm) must be non-dev for downstream consumers.
Add .bazelrc to test/downstream for --experimental_isolated_extension_usages.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Two issues prevented the test from working under bazelisk test:
- dirname "$0" resolved to the runfiles tree, not the source tree;
use readlink -f to follow the symlink to the real script location
- HOME is not set in Bazel test environments; bazelisk needs it to
locate its cache directory
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Add a mock downstream project (test/downstream/) that verifies:
- Public targets (//:openroad, //:openroad_py) are visible
- Internal targets (//:openroad_lib, //:_openroadpy.so) are restricted
- Dev dependencies (rules_shell, rules_pkg, rules_verilator) are not
leaked to downstream consumers
The test uses local_path_override to consume OpenROAD as a dependency,
matching how real downstream projects would use it.
Wired as //test:downstream_visibility_test in the main build.
Signed-off-by: Claude Code <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>