fix(golang-github-aws-sdk-2): disable bootstrap mode - #18326
fix(golang-github-aws-sdk-2): disable bootstrap mode#18326Mitch Zhu (miz060) wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Pull request overview
Disables bootstrap mode for Stage 2 while preserving it for Fedora-backed Stage 1.
Changes:
- Adds a stage-aware bootstrap overlay.
- Refreshes generated spec, release, changelog, and lock state.
- Moves the customized component into a dedicated definition.
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
base/comps/components.toml |
Removes the component from the unmodified-import list. |
base/comps/golang-github-aws-sdk-2/golang-github-aws-sdk-2.comp.toml |
Adds its dedicated component definition. |
base/comps/golang-github-aws-sdk-2/overlays/0001-disable-bootstrap-mode-in-stage2.overlay.toml |
Adds the stage-aware bootstrap override. |
locks/golang-github-aws-sdk-2.lock |
Refreshes the input fingerprint. |
specs/g/golang-github-aws-sdk-2/golang-github-aws-sdk-2.spec |
Records the rendered bootstrap behavior and release update. |
|
/azp run |
|
Azure Pipelines: 2 pipeline(s) were filtered out due to trigger conditions. |
| [[overlays]] | ||
| description = "Disable bootstrap mode in Azure Linux Stage 2" | ||
| type = "spec-search-replace" | ||
| regex = '^%bcond bootstrap 1$' |
There was a problem hiding this comment.
question(blocking): I see from the linked work upstream commit that it's F44 that is missing the required dependencies but I suppose the change ended up in f43 anyhow. From a stage1 vs. stage2 perspective -- we're building the same set of packages. Are we certain we couldn't just flip bootstrap to 0 entirely for AZL4?
There was a problem hiding this comment.
Good point. Our stage 1 repo also provides the full dependency closure. Updated to disable bootstrap mode for all AZL4 builds.
0fb4afc to
ca42cfb
Compare
|
/azp run |
|
Azure Pipelines: 2 pipeline(s) were filtered out due to trigger conditions. |
| [[overlays]] | ||
| description = "Disable bootstrap mode for Azure Linux builds" | ||
| type = "spec-search-replace" | ||
| regex = '^%bcond bootstrap 1$' |
There was a problem hiding this comment.
suggestion: Great to see this can work! if this now works, we can simplify even further and specify a without = { "bootstrap" } TOML config -- fully avoiding any need for an overlay or spec mutation.
Don't hesitate to ask if you could use a pointer to examples on how to do this.
There was a problem hiding this comment.
Good suggestion. Switched this to the native build.without = ["bootstrap"] component configuration and removed the overlay so the upstream spec is no longer mutated.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 5 changed files in this pull request and generated no new comments.
Suppressed comments (1)
base/comps/golang-github-aws-sdk-2/overlays/0001-disable-bootstrap-mode.overlay.toml:13
- This overlay is loaded by the project-wide default for every distro version (
base/comps/components.toml:10-11), so the unconditional0also disables bootstrap in the Fedora-backed Stage 1 build. A Stage 1 rebuild would then lose the~bootstrapsuffix and run generated dependency/test paths, contrary to the PR's stated Stage 1 behavior. Make the default conditional: Stage 1 lacks%azurelinux, while the Stage 2 buildroot defines it.
# Azure Linux builds those prerequisites in both stages. Disable the workaround
# so Stage 1 and Stage 2 generate complete dependency metadata and run all tests.
Fedora defaults this package to bootstrap mode while transitive Go dependencies are unavailable. Both Azure Linux build stages provide the dependency closure, so retaining bootstrap mode strips generated Go requirements and produces a conflicting ~bootstrap NVR. Use the native build.without configuration to select full mode without mutating the upstream spec. Both stages now generate complete dependency metadata and run the full test suite. Signed-off-by: Mitch Zhu <mitchzhu@microsoft.com>
ca42cfb to
cfc57be
Compare
|
Investigating a new Stage 2 prod dependency-resolution failure. The same source built successfully yesterday, so I’m comparing the build-repository snapshots between the two runs. |
We did make the change yesterday to flip stage2 to consume only from stage2. and we know we have a few piles of golang packages that don't yet build -- if any of them are in the dependencies for this component, that could be an issue. |
Fixes the duplicate-NVR failure for
golang-github-aws-sdk-2. Fedora defaults this package to bootstrap mode while transitive Go dependencies are unavailable, but both Azure Linux build stages provide the complete dependency closure. Keeping bootstrap enabled produces a conflicting~bootstrapNVR and strips generated Go requirements from the package.Changes:
build.withoutconfiguration.Validation:
20250103-9.azl4.go test github.com/aws/aws-sdk-go-v2/awspassed against the installed package, andgo docresolvedaws.String.