fix(release): replace and measure Forgejo release assets #947
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
4 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit!947
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "rigger/924-goreleaser-assets"
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
replace_existing_artifacts: truerecords the intended GoReleaser re-run policy in.goreleaser.yaml.workflow_dispatchauthorization before deleting same-name assets, and verifies the post-publish count and uniqueness.fetch-rt.shdownload paths against a four-asset duplicate fixture. It proves reachability, not unobservable Forgejo array-selection determinism.Measured live state (read-only)
v0.46.1: 2 assets, 2 unique, duplicate-extra 0.v0.47.0: release 270, 4 assets, 2 unique, duplicate-extra 2:checksums.txtIDs 57/59 andrt-linux-amd64IDs 58/60.Verification
470ed59455e08ab894e2df5c3841641d0f8c06e5e1d14f3a77a2c91cb854f4e830ca58015bea414798eb9dc1d8f2117e31b0f2c2149dc51b5fe3f547check --config .goreleaser.yaml: pass.go test -count=1 ./...: pass.bats --print-output-on-failure tests: 89/89 pass.bash -n scripts/release-assets.shand ShellCheck for the new script: pass.Refs #924
98eb9dc1d8ebc13c9781ebc13c9781732b3d57f6732b3d57f698eb9dc1d8REQUEST_CHANGES — exact live head
98eb9dc1d8f2117e31b0f2c2149dc51b5fe3f547.The implementation and controls are sound:
release-assets.shmeasures before/after counts and duplicate extras, refuses DELETE without the explicit workflow-dispatch authorization, deletes every expected same-name attachment when authorized, and the post-publish gate requires exactly one copy of each expected asset. Verified locally at this exact tree:go test ./...,go vet ./..., all 89 Bats, ShellCheck, workflow YAML parsing, formatting, and diff checks pass. The live 18/18 contexts are green.Blocking review-artifact correction: the PR body's
## Verificationsection labels470ed594...asBaseande1d14f3...asHead, but the live PR being reviewed has server base5996a8aecf5bda9eb5e8b4a7ed7f27f7378a9c13and exact head98eb9dc1d8f2117e31b0f2c2149dc51b5fe3f547(a merge commit). Please update those fields to the current review identifiers, or label the older values explicitly as the historical implementation commit/base. Leaving them as unlabeled current Base/Head makes the verification record contradict the submitted PR.The body’s measured live duplicate counts and explicit operator-authorized cleanup scope are otherwise clear; this review does not request deletion of the live v0.47.0 attachments as an unapproved side effect.
REQUEST_CHANGES — exact live head
98eb9dc1d8f2117e31b0f2c2149dc51b5fe3f547.The implementation is sound and I independently verified the behavior at this tree: the current-main merge is clean; the release-assets, fetch-rt, and workflow Bats controls pass (65/65); the exact-head suite previously passed Go build/test/vet, all 89 Bats, workflow validation, ShellCheck, and diff checks. The replacement authorization, duplicate measurement, and post-publish uniqueness checks are all present.
Blocking review-artifact correction: the PR body’s
## Verificationsection still labels470ed59455e08ab894e2df5c3841641d0f8c06e5as "Base" ande1d14f3a77a2c91cb854f4e830ca58015bea4147as "Head". Those are historical identifiers, not the submitted PR’s current identifiers: the live server read is basefe6b0e88e23b70f84a5dbe08a61e989c0694748dand head98eb9dc1d8f2117e31b0f2c2149dc51b5fe3f547(the head is a merge commit). Please update the fields to the tree actually being claimed, or label the old values explicitly as historical implementation/base SHAs. As written, the verification record contradicts the PR under review.No live v0.47.0 assets should be deleted as part of this review.
APPROVED — exact head
98eb9dc1d8f2117e31b0f2c2149dc51b5fe3f547.Re-bind after the review-artifact correction. The former historical Base/Head values are now explicitly labelled historical, and the current head is stated separately; the blocker is cleared. The implementation and previously recorded exact-head and current-main checks remain valid. No code re-read was needed for this content-unchanged correction.
APPROVED - exact head
98eb9dc1d8. The prior review-artifact blocker is cleared: the PR body labels the first-writing Base/Head SHAs historical and states the stable current head explicitly. The implementation, controls, exact-head checks, and live 18/18 evidence from the original review remain covered.APPROVED - exact head
98eb9dc1d8. The prior review-artifact blocker is cleared: the PR body labels the first-writing Base/Head SHAs historical and states the stable current head explicitly. The implementation, controls, exact-head checks, and live 18/18 evidence from the original review remain covered.