fix(bcr): darwin/amd64 pin + Bazel 9 & Rosetta-Intel CI coverage#3
Merged
Conversation
BCR's `macos` presubmit agent is Intel x86_64 (macos_arm64 is a separate
platform). The lazy `ocx.package` in the e2e test module and the package
example pinned darwin/arm64 but not darwin/amd64, so on an Intel mac
`pinned_ref` fell back to the bare tag and `_lazy_package` hard-failed at
fetch ("must be digest-pinned") — the macOS-only failure in
bazel-central-registry#9543 while Linux/Windows passed.
Add the darwin/amd64 manifest digest (build-only bakes it as text, so it is
GC-safe) to e2e/bzlmod jq_lazy and examples/package jq_pinned + jq_lazy.
Close the two CI gaps that let the BCR macOS failure through: - Bazel version matrix (8.7.0 + 9.x required, rolling non-blocking) across the test, examples, and offline jobs via USE_BAZEL_VERSION. Docs-freshness (//docs) is excluded on Bazel != 8.7.0 because stardoc under Bazel 9 emits extra `repo_mapping` rows the pinned-Bazel golden doesn't carry. - New bcr-parity job builds e2e/bzlmod across all four BCR platforms. macos-13 (Intel) is deprecated, so darwin/amd64 is emulated on the arm64 runner by running an x86_64 Bazel under Rosetta — the repo-rule host arch is the Bazel JVM arch, so this reproduces BCR's Intel agent and the missing-pin failure. - New pin-completeness job: a deterministic, arch-independent guard asserting every ocx.package pins map lists all four BCR platforms.
Bazel rejects a leading-dash target as an option; '-//docs/...' must follow the '--' end-of-options marker. Fixes the Bazel 9.x/rolling Test legs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes the macOS-only failure in the BCR submission (bazelbuild/bazel-central-registry#9543) and closes the two CI gaps that let it through. Does not touch the BCR PR — repo-side fix + coverage first.
Root cause
BCR's
macospresubmit agent is Intel x86_64 (macos_arm64is a separate platform). The lazyocx.packageine2e/bzlmod(andexamples/package) pinneddarwin/arm64but notdarwin/amd64, so on Intel macpinned_reffell back to the bare tag and_lazy_packagehard-fail()d at fetch (package.bzl:38-41). Linux/Windows/arm64-mac passed because they had pins. Our own CI missed it:macos-latest= arm64, ande2e/bzlmodwasn't in CI at all.Changes
darwin/amd64pin (digestb17686a0…, verified viaocx package install -p darwin/amd64) toe2e/bzlmodjq_lazy andexamples/packagejq_pinned + jq_lazy. Build-only bakes the digest as text → GC-safe.8.7.0+9.xrequired,rollingnon-blocking) on test/examples/offline viaUSE_BAZEL_VERSION. Bazel 9 is otherwise green — only docs-freshness (//docs) is excluded on Bazel≠8.7.0 (stardoc emits extrarepo_mappingrows; the golden is a pinned-Bazel artifact).bcr-parityjob buildse2e/bzlmodacross all four BCR platforms;macos-13is deprecated, so darwin/amd64 is emulated by running an x86_64 Bazel under Rosetta on the arm64 runner (repo-rule host arch = Bazel JVM arch).pinsmap lists all four BCR platforms.Verified locally
test //...green on 8.7.0 and 9.x (9.x: only//docs:defs_docs_testdiffers → excluded).e2e/bzlmod build //...green on 8.7.0 and 9.x;packageexample green on 9.x.Follow-up (separate, after this merges)
The fix lives inside the source archive, and
v0.1.0is immutable — so BCR #9543 needs either a v0.1.1 resubmit (recommended) or a.bcr/patchesentry. Decide after this is green.