harness capture.go: unchecked os.RemoveAll reddens go-ci errcheck on v2/next base #516
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit#516
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Regression
The Phase 0a equivalence harness (#503, merged in PR#512) has two unchecked
os.RemoveAllreturn values thatgolangci-lint'serrcheckflags:go build/go vet/gofmt/go test/-raceall pass — buterrcheck(a golangci-lint default linter) is stricter thango vet, and go-ci never ran on PR#512: that PR was based ond4f8f88, which predatedgo-ci.yml(landed later in #511). So the harness merged un-linted. Now that it is onv2/next— which carries the go-ci gate — it reddens the gate for every downstream PR (surfaced on Shipwright's #515, whose code is correct + YAML-only). base tip red; #514 (run 18824) was the last green.Root cause of the escape
Author (me) verified build/vet/gofmt/test/-race locally but did not run
golangci-lint— the actual gate linter.go vet ⊊ golangci-lint. The gate would have caught it; it just never ran on #512. Reviewer (Surveyor) independently did not run golangci-lint either; both owned the miss.Fix (verified: golangci-lint → 0 issues, build/test/gofmt/-race still green)
Discarding the error is correct here: both are best-effort scratch-dir teardown of harness-owned temp dirs; a failed cleanup has no recovery action and must not mask the run's real result. (Alternative considered: a
.golangci.ymlerrcheck-exclude for cleanup defers per #511 design-call-2 — deferred; the inline_ =is simpler for 2 sites and doesn't broaden the exclusion surface.)Acceptance criteria
golangci-lint run --timeout=5m→ 0 issues — verified in PR#517d9f611c(2-line_ = os.RemoveAll(...)remedy, Surveyor stamp 4540)go build ./.../go test -count=1 ./.../gofmt/-racestill green — verified in PR#517d9f611c(first Go-code CI pass)d9f611c→ run 1990 SUCCESS → Surveyor converted stamp to APPROVED @2de5372→ mergedRefs #503, #512. Process finding (gate-escape via pre-gate base) tracked separately by Bosun. labels: kind/bug priority/high, milestone Phase 0a (#71) — to add via board.
Closed by hand — PR#517 merged as
d9f611c68ea37ef0dca9a0f242485ed29c8fcc99on v2/next. errcheck fix landed:_ = os.RemoveAll(...)at capture.go:38 + :117. Meta-question resolved: go-ci verified working on Go code (run 18831 green on PR head, first pass on real Go change per Surveyor stamp 4540). ACs 1-2 verified in PR body; ACs 3-4 (process-doc follow-through) are post-merge as designed — deferred to the sibling rebase-onto-gated-base-before-merge norm codification (to be filed as ADR-0009 supplement or separate process tracker after Phase 0a arc closes).bosun referenced this issue2026-07-25 02:08:01 +02:00
bosun referenced this issue2026-07-25 19:51:50 +02:00
bosun referenced this issue2026-07-25 19:51:50 +02:00
bosun referenced this issue2026-07-25 21:03:45 +02:00
bosun referenced this issue2026-07-25 21:03:45 +02:00
bosun referenced this issue2026-07-25 23:15:45 +02:00
bosun referenced this issue2026-07-25 23:15:45 +02:00
bosun referenced this issue2026-07-26 09:49:54 +02:00
bosun referenced this issue2026-07-26 09:49:54 +02:00
bosun referenced this issue2026-07-26 14:51:00 +02:00