Repository navigation
go: preserve Orchestrion wiring in Bzlmod runtime patches - #273
Open
tonyredondo wants to merge 3 commits into
Open
tonyredondo wants to merge 3 commits into
tonyredondo wants to merge 3 commits into
Conversation
There was a problem hiding this comment.
More details
Profile classification across all four maintained rules_go versions preserves the module registration and public Orchestrion extension alias required for Bzlmod repository visibility. The full Bzlmod functional matrix remains unverified in this review.
🤖 Bits Code Review · Commit 8898452 · @DataDog review to ask questions
|
🔗 Commit SHA: e0c6b61 | Docs | View more details | Give us feedback! |
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.
What changed
Add a
bzlmod_runtimeconsumer patch profile for repositories that maintaintheir own
rules_gopatch stack. It keeps the Orchestrion registration inrules_go'sMODULE.bazeland the publicgo:extensions.bzlalias.The existing WORKSPACE profile deliberately excludes both files. Using it
after a Bzlmod migration requires a hand-added module hunk, which disappears
on regeneration. A root-only
use_repoalso cannot make the tool repositoryvisible inside
rules_go. The new profile preserves that wiring and uses thesame public
orchestrionextension in both modules.workspace_runtimebzlmod_runtimeNo instrumentation or vendored fork code changes. Existing WORKSPACE consumers
keep the same profile and behavior.
Regression coverage
The profile verifier now exercises Bzlmod with WORKSPACE disabled. It applies
only the generated patch to clean upstream
rules_go, runs instrumented CGOtests in two independent output roots, checks standard/read-only cache
ownership, and compares action outputs using the existing Reprise-equivalent
checks. CI runs both profiles for rules_go v0.60.0, v0.61.1, v0.62.0 and v0.63.0
on its existing Linux amd64 and ARM64 lanes.
Unit tests cover profile boundaries, patch application, retained module
registration, excluded lockfiles/tests, public extension identity, profile-path
dispatch, and release archive coverage. README, contributor commands and the
Go onboarding reference describe the new profile and the extension identity
requirement.
Validation
profile and variant suites passed all 56 tests.
Buildifier and
git diff --checkpassed.targets, static services, doctor, failed-test payloads and mock uploads.
passed all 62 checks at
e0c6b61, including both functional profiles for allfour maintained rules_go versions on Linux amd64 and ARM64. One WORKSPACE
shard needed a retry after a
proxy.golang.orgHTTP/2 download failure.dd-source #121352 regenerates
its consumer patch with this profile, uses the public extension, generates
service imports, and updates its validator triggers.