feature: pin a release commit forever, independent of its shared branch ref #52
No reviewers
Labels
No labels
breaking
bug
ci
dependencies
documentation
feature
security
skip-changelog
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
argus/backend!52
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/pin-release-commits"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
PinnedCommit(project, commit_sha), unique per project -- checked once insidecleanup._delete_reports()itself, so bothcleanup_prandprune_historyrespect it for free, without duplicating the check.GET/POST/DELETE .../commits/{commit_sha}/pin/andGET .../pinned-commits/, same permission gating as the existingPinnedRefView.Frontend companion (a pin toggle on ReportCard, keyed by commit_sha) coming in a follow-up PR on argus/frontend.
Closes #51
Test plan
🤖 Generated with Claude Code
https://claude.ai/code/session_014HiJrn6J6vhyFfC2qyY4uh
PinnedRef pins a whole (ref_kind, ref_value), but ci-base's publish-release.mjs uploads release/devel-snapshot reports under the exact same ref_kind=branch/ ref_value=<branch> as every regular CI push on that branch -- there is no dedicated ref for a release. Pinning the ref would freeze that branch's entire history forever, not just the release build. New PinnedCommit(project, commit_sha), checked once inside cleanup._delete_reports() itself so both cleanup_pr and prune_history respect it for free, plus GET/POST/DELETE .../commits/{commit_sha}/pin/ and GET .../pinned-commits/ endpoints (same permission gating as PinnedRefView). Closes #51 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014HiJrn6J6vhyFfC2qyY4uh📊 Rapports Argus pour cette PR