Skip to content

Add bazelisk run //:install#4003

Merged
maliberty merged 6 commits into
The-OpenROAD-Project:masterfrom
Pinata-Consulting:bazel-install
Mar 21, 2026
Merged

Add bazelisk run //:install#4003
maliberty merged 6 commits into
The-OpenROAD-Project:masterfrom
Pinata-Consulting:bazel-install

Conversation

@oharboe
Copy link
Copy Markdown
Collaborator

@oharboe oharboe commented Mar 16, 2026

bazelisk run //:install

Builds and installs OpenROAD (with GUI), Yosys, and yosys-slang to tools/install/. Re-runs are instant (stamp file per submodule commit). No sudo required.

On Ubuntu, checks for missing -dev packages before building and fails fast with the apt install command. Other platforms not checked (we can't test them, contributions welcome).

Docs updated to present Bazel / Nix / CMake as three equal paths.

Zero churn: no changes to DependencyInstaller.sh, flow/, setup.sh, build_openroad.sh, or Nix flakes.

Tested: gcd/nangate45 synth, asap7/uart synth (yosys-slang).

    bazelisk run //:install

Builds and installs OpenROAD (with GUI), Yosys, and yosys-slang
to tools/install/. Re-runs are instant (stamp file per submodule
commit). No sudo required.

On Ubuntu, checks for missing -dev packages before building and
fails fast with the apt install command. Other platforms not
checked (we can't test them, contributions welcome).

Docs updated to present Bazel / Nix / CMake as three equal paths.

Zero churn: no changes to DependencyInstaller.sh, flow/, setup.sh,
build_openroad.sh, or Nix flakes.

Tested: gcd/nangate45 synth, asap7/uart synth (yosys-slang).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Comment thread bazel/install.sh Outdated
local missing_pkgs=()

# Commands needed for yosys build
command -v bison &>/dev/null || { missing_cmds+=(bison); missing_pkgs+=(bison); }
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Without running the dependency installer there is no guarantee these will be usable versions.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed, scope is now MVP for bazel users to build and debug OpenROAD

Comment thread bazel/install.sh Outdated
Comment on lines +73 to +74
echo "On Ubuntu this would be:"
echo " sudo apt install ${missing_pkgs[*]}"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

again no guarantee this is right

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed, scope is now MVP for bazel users to build and debug OpenROAD

Comment thread bazel/install.sh Outdated
# Currently only Ubuntu/Debian is checked. Dependency checking for
# other platforms (macOS, RHEL, Fedora, etc.) is not implemented
# because we cannot test them. Contributions welcome.
check_ubuntu_deps() {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about all the other platforms?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed, scope is now MVP for bazel users to build and debug OpenROAD

Comment thread docs/user/BuildLocally.md Outdated
| **CMake** | `sudo ./setup.sh` | Yes | Existing CMake developers |

Supported configurations are: Ubuntu 20.04, Ubuntu 22.04, Ubuntu 22.04(aarch64), RHEL 8, RockyLinux 9 and Debian 11.
### Bazel (recommended)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can't be the recommended method based on what is in this PR currently.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed, scope is now MVP for bazel users to build and debug OpenROAD

oharboe and others added 2 commits March 17, 2026 21:50
Remove Ubuntu dep checking, --skip-openroad flag, and verbose help text.
Docs: position Bazel as unsupported developer-only option, CMake first.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
@oharboe oharboe requested a review from maliberty March 17, 2026 21:00
oharboe and others added 2 commits March 17, 2026 22:53
Add cross-platform dep checking (Ubuntu, RHEL, macOS, openSUSE).
Remove verbose help text. Docs: replace outdated Bazel section with
//:install, mark as unsupported developer-only path.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Comment thread docs/user/BuildLocally.md
Address review feedback: make it clear this is not a general-purpose
installer but specifically for bazel-orfs developers.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
@oharboe oharboe requested a review from maliberty March 18, 2026 23:05
@maliberty maliberty enabled auto-merge March 19, 2026 15:48
@oharboe
Copy link
Copy Markdown
Collaborator Author

oharboe commented Mar 20, 2026

@vvbandeira @maliberty please retrigger, CI outage

@maliberty maliberty merged commit 8ad0ff7 into The-OpenROAD-Project:master Mar 21, 2026
7 of 8 checks passed
@oharboe oharboe deleted the bazel-install branch April 19, 2026 19:29
oharboe added a commit to oharboe/OpenROAD-flow-scripts that referenced this pull request May 11, 2026
bazel/BUILD only existed to export the bazel-orfs patches I had
introduced.  Since those patches landed upstream (bazel-orfs PR The-OpenROAD-Project#720)
and were removed in the previous commit, the package is no longer
needed.  Dropping it lets //:install_for_bazel reference
bazel/install.sh as a same-package file again, the way it has been
on master since PR The-OpenROAD-Project#4003 — so this PR no longer touches that rule.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants