feat(repos): preserve SHA pinning during repos upgrade#5276
Conversation
|
🤖 Finished Review · ✅ Success · Started 10:49 PM UTC · Completed 11:02 PM UTC |
Site previewPreview: https://388fdbef-site.fullsend-ai.workers.dev Commit: |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
ReviewFindingsLow
Labels: PR modifies Go code in the repos upgrade package. Previous runReviewFindingsLow
Previous run (2)ReviewFindingsLow
Previous run (3)ReviewFindingsMedium
Low
|
|
/fs-fix Rebase and address the review issues, both in-line and on the sticky comment. Don't forget to resolve the issues. |
|
🤖 Finished Fix · ❌ Failure · Started 12:33 AM UTC · Completed 12:39 AM UTC |
|
/fs-fix rebase and fix all the issues, both in-line and in the sticky comment. |
|
🤖 Finished Fix · ✅ Success · Started 4:20 PM UTC · Completed 4:27 PM UTC |
- Update stale limitation in docs/cli/repos.md to reflect SHA-pinning preservation (was still documenting old tag-only behavior) - Document failure mode in docs/plans/repos-management.md: GetRef failure causes per-repo error rather than tag-only fallback - Make shaRefPattern case-insensitive to handle uppercase SHA refs - Add comment documenting the hex-only tag name false-positive edge case Addresses review feedback on #5276
🔧 Fix agent — iteration 1 (human-triggered)Addressed all 4 review findings: updated stale docs/cli/repos.md limitation, added failure mode documentation to both plan doc locations, documented hex-only tag name edge case, and made SHA detection case-insensitive. Also rebased onto latest main. All tests pass. Fixed (4):
Tests: passed Updated by fullsend fix agent |
ca8af5f to
2f389c3
Compare
E2E tests did not runE2E tests run automatically for org/repo members and collaborators on pull requests. For other contributors, a maintainer must add the See E2E testing guide for details. |
|
/fs-review |
|
🤖 Finished Review · ✅ Success · Started 4:59 PM UTC · Completed 5:17 PM UTC |
|
/fs-fix rebase and fix all the issues, both in-line and in the sticky comment. And don't forget to respond to and resolve in-line comments. |
|
🤖 Finished Fix · ❌ Failure · Started 5:20 PM UTC · Completed 5:26 PM UTC |
|
The fix agent completed, but the post-fix script failed before finishing. Workflow run: https://github.com/fullsend-ai/.fullsend/actions/runs/29852387088 Details: |
|
/fs-fix Rebase and address the review issues, both in-line and on the sticky comment. Don't forget to resolve the issues. CRITICAL: DO NOT TRY TO SIGN THE COMMIT! |
|
🤖 Finished Fix · ❌ Failure · Started 5:39 PM UTC · Completed 5:46 PM UTC |
|
The fix agent completed, but the post-fix script failed before finishing. Workflow run: https://github.com/fullsend-ai/.fullsend/actions/runs/29853800295 Details: |
2f389c3 to
511d915
Compare
ggallen
left a comment
There was a problem hiding this comment.
All review findings addressed:
- DryRun ordering (low, edge-case): Moved DryRun check before isSHARef branch so DryRun never calls GetRef. Added
TestUpgrade_DryRunSHAPinnedSkipsGetReftest. - isSHARef false positives (low, edge-case): Code comment documents the limitation — extremely unlikely since version tags follow vX.Y.Z.
- Case-insensitive SHA matching (low, naming-consistency):
(?i)flag added toshaRefPattern. - Failure mode documentation (low, incomplete-scope-documentation): Already documented in both
docs/plans/repos-management.mdanddocs/cli/repos.md.
All tests pass. Coverage at 94.1% for the package, 95.5% for upgradeRepo.
|
/fs-review |
|
🤖 Finished Review · ✅ Success · Started 7:47 PM UTC · Completed 8:01 PM UTC |
511d915 to
2adbf0c
Compare
When a workflow's current ref is a SHA, repos upgrade now resolves the target version tag to its commit SHA via forge.Client.GetRef() and writes @<sha> # <tag> format, preserving the SHA-pinning convention. Tag-only repos continue to use tag-only format. DryRun mode skips the GetRef API call so it never fails when the target tag does not exist on the remote. Closes #5272 Signed-off-by: Greg Allen <gallen@redhat.com> Signed-off-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Greg Allen <gallen@redhat.com>
2adbf0c to
cda2f9d
Compare
|
/fs-review |
|
🤖 Finished Review · ✅ Success · Started 8:16 PM UTC · Completed 8:30 PM UTC |
|
🤖 Finished Retro · ✅ Success · Started 8:53 PM UTC · Completed 9:23 PM UTC |
Retro: PR #5276 — feat(repos): preserve SHA pinning during repos upgradeTimeline
What went well
Key problems1. Post-fix scan range bug caused 3 false-positive failures (evidence for #5419) The 2. Review agent re-raised acknowledged findings across iterations (evidence for #5265) The 3. Dispatch shim waste: 23 of 25 shim runs dispatched nothing (evidence for #2994) The PR triggered 25
Existing issue coverageAll improvement opportunities identified in this retro are already covered by open issues:
No new proposals filed — existing issues comprehensively cover the findings. This retro's evidence is preserved here for reference. |
Summary
repos upgrade: when a workflow's current ref is a SHA, resolve the target version tag to its commit SHA viaforge.Client.GetRef()and write@<sha> # <tag>format@<tag>)Related Issue
Closes #5272
Changes
internal/repos/upgrade.goisSHARef()detection, resolve tags to SHAs viaGetRef, preserve SHA-pinning conventioninternal/repos/upgrade_test.goisSHARefunit tests; updateTestUpgrade_NonSemverCurrentReffor new behaviordocs/plans/repos-management.mdTesting
go test ./internal/repos/— all tests passgo vet ./...— cleanscan-secrets --staged— no leaksisSHARefedge casesChecklist
Closes #5272
Post-script verification
agent/5272-sha-pinning-preservation)b84696fd80a59eb24190aad8fdf6d42f6d8f39bc..HEAD)