Skip to content

feat: support archive_override for ORFS pin#719

Merged
oharboe merged 2 commits into
mainfrom
archive-override-orfs-bump
May 9, 2026
Merged

feat: support archive_override for ORFS pin#719
oharboe merged 2 commits into
mainfrom
archive-override-orfs-bump

Conversation

@oharboe
Copy link
Copy Markdown
Collaborator

@oharboe oharboe commented May 8, 2026

Summary

  • Switches the ORFS pin in `MODULE.bazel` from `git_override` to `archive_override` (HTTPS tarball + SRI integrity)
  • Teaches `bump.py` to detect and rewrite `archive_override` blocks (urls/integrity/strip_prefix), with the existing `git_override` path preserved as the fallback
  • Picks up the by-product bumps of openroad/orfs/qt-bazel/yosys produced by running the new tool end-to-end

Why

bzlmod resolution of `bazel-orfs` fails inside the maintainers organization because direct `git clone` of OpenROAD-flow-scripts is blocked there. The GitHub `/archive/.tar.gz` endpoint is reachable, so the fix is to pin ORFS via tarball.

`bump.py` is the canonical updater (`bazelisk run @bazel-orfs//:bump`), so it has to learn the archive_override shape to keep the pin live.

Test plan

  • `python3 test/bump/bump_test.py` — 12 new archive_override tests pass; the 2 pre-existing qt-bazel-mock failures on main are unaffected
  • `bazelisk run //:bump` against this branch's MODULE.bazel — rewrites urls/integrity/strip_prefix correctly, leaves `patches` and `patch_strip` intact, doesn't disturb the openroad/qt-bazel git_override blocks
  • Patch `0035-fix-remove-non-root-overrides-from-MODULE.bazel.patch` still applies cleanly to the freshly bumped ORFS commit (kept; not upstreamed)

🤖 Generated with Claude Code

bzlmod resolution of bazel-orfs fails inside the maintainers organization
because direct git access to OpenROAD-flow-scripts is blocked while the
GitHub /archive/<sha>.tar.gz endpoint is reachable.  Switch the ORFS pin
in MODULE.bazel from git_override to archive_override (HTTPS tarball with
SRI integrity), and teach bump.py to update urls/integrity/strip_prefix
in archive_override blocks.

bump.py auto-detects which override style is in use, so existing
git_override-based pinnings (the historical default and what
openroad/qt-bazel still use here) continue to work unchanged.

Also bumps openroad/orfs/qt-bazel/yosys via the bump tool — the bump
itself was the verification that the new code path works end-to-end.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Signed-off-by: Øyvind Harboe <[email protected]>
oharboe added a commit to oharboe/OpenROAD-flow-scripts that referenced this pull request May 8, 2026
Bump bazel-orfs to b1ceeb28 (head of The-OpenROAD-Project/bazel-orfs#719,
"feat: support archive_override for ORFS pin").  All four bazel-orfs
patches carried in this PR are upstreamed there:

  * 0001-stages-register-bazel-injected-vars-in-validator.patch
  * 0002-synth_partition-fix-SYNTH_SKIP_KEEP-truthy-check.patch
  * 0003-synth_partition-parse-kept_modules-json-without-greedy-sed.patch
  * 0004-orfs_design-forward-user_arguments-to-orfs_flow.patch

so the patch files and the bazel/bazel-orfs-patches/ directory are
removed.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Signed-off-by: Øyvind Harboe <[email protected]>
The self-archive.MODULE.bazel fixture was missing from the BUILD data
list, causing 7 FileNotFoundError failures in CI.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Signed-off-by: Øyvind Harboe <[email protected]>
@oharboe oharboe merged commit f1e817f into main May 9, 2026
1 check passed
@oharboe oharboe deleted the archive-override-orfs-bump branch May 9, 2026 19:04
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.

1 participant