fix(ci): refresh accumulated stack pins from main - #1388
Conversation
Rebase the shared stack-pin branch onto the current default branch before resolving a new chart release, preserving earlier pin commits while making newly merged release metadata available. Fixes #1387 Signed-off-by: Stephanie Baum <sbaum@nvidia.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (4)
Included review availability: Your plan provides up to 12 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe PR adds ChangesStack-pin branch refresh
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to This change refreshes the shared pin branch from the current base before resolving releases, preserving accumulated pins while including new release metadata. No actionable merge-blocking risk remains after normal checks and review. Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Linked Issues checkExplanation The changes satisfy the coding objectives in issue Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (4 skipped: 4 unsupported.) ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
TL;DR
Refresh the shared stack-pin branch from current
mainbefore applying each chart release so accumulated pin commits do not hide newly merged release metadata.Additional Details
The invocation chart
v1.6.0release exposed a split-brain workflow state. The stack audit passed on currentmain, but the workflow then switched to the olderchore/stack-pin-bumpsbranch. The resolver failed there because that branch predated the invocation chart release metadata from #1386.This change extracts the branch preparation into a small helper. An existing pin branch is fetched and rebased onto the current default branch before the resolver runs. A missing branch starts directly from the current default branch. Rebase conflicts and remote lookup failures remain loud, and the existing force-with-lease protects against concurrent updates.
A git-backed regression test verifies that previously accumulated pins survive the refresh, new metadata is present, history remains linear, and a missing branch starts at the current base.
Customer release notes: Not customer visible.
Plan summary: Not applicable.
Usage: Not applicable.
Notes: After merge, rerun the invocation
v1.6.0stack-pin workflow and confirm #1381 gains the invocation pin alongside its existing NATS and request-router pins.Related pull requests: #1381, #1386.
Dependencies: None. No license review or NOTICE update is required.
For the Reviewer
Please focus on the fetch/rebase behavior in
tools/ci/prepare-stack-pin-branchand the force-with-lease assumptions in.github/workflows/stack-pin-bump.yml.For QA
QA is not needed beyond CI and the post-merge rerun of the failed invocation pin workflow.
Tests run:
bash tools/ci/test-prepare-stack-pin-branchbash -n tools/ci/prepare-stack-pin-branch tools/ci/test-prepare-stack-pin-branchshellcheck tools/ci/prepare-stack-pin-branch tools/ci/test-prepare-stack-pin-branchpython3 tools/ci/test-github-release.py(47 tests passed)go test -C tools/stack-pin-resolver ./...git diff --checkThe standalone local license-header checker was also attempted. In this OSS snapshot it exits before checking files because its empty arrays trigger an existing
unbound variableerror. Every changed file carries the required SPDX header, and repository CI remains the authoritative check.Issues
Closes #1387
Checklist
Summary by CodeRabbit
Bug Fixes
Tests