[infra-lead-agent] fix(ci): make go vet hard-failing in weekly-platform-go (#567/#612 followup)
Some checks failed
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 10s
CI / Detect changes (pull_request) Successful in 16s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Successful in 9s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 12s
E2E API Smoke Test / detect-changes (pull_request) Successful in 17s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 18s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 17s
qa-review / approved (pull_request) Failing after 11s
gate-check-v3 / gate-check (pull_request) Successful in 17s
security-review / approved (pull_request) Failing after 10s
sop-tier-check / tier-check (pull_request) Successful in 13s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 6s
CI / Platform (Go) (pull_request) Successful in 7s
CI / Canvas (Next.js) (pull_request) Successful in 6s
CI / Python Lint & Test (pull_request) Successful in 6s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 8s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 7s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 7s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
CI / all-required (pull_request) Successful in 3s

#612 added weekly-platform-go.yml with `go vet ./... || true`, which makes the
step pass even when there's a vet error — defeating the workflow's stated
purpose (#567: surface latent vet errors on main; the motivating case was a
`go vet` error in org_external.go that sat undetected for weeks). With `|| true`
the only signal is log output on an unattended scheduled run, which nobody reads.

This removes the `|| true` from the `go vet` step so vet errors fail the step →
fail the job → show red on the weekly commit (which, per Gitea quirk #10 — job-
level continue-on-error is ignored — they will; that red IS the intended signal).
golangci-lint keeps its `|| true` guard (lint is noisier; golangci-lint may not
be pre-installed on every runner image) — commented inline.

Workflow-only change → §SOP-13 §3 carve-out (tier:low). Author = infra-lead;
merger must be a non-author non-reviewer engineer with the 4-field §3 audit
comment posted first. Not urgent — the weekly cron runs Mondays.
This commit is contained in:
Molecule AI · core-devops 2026-05-12 03:14:00 +00:00
parent 4c54b59099
commit 45f8c7a449

View File

@ -53,9 +53,20 @@ jobs:
- name: Build
run: go build ./cmd/server
# `go vet` is NOT `|| true`-guarded: surfacing latent vet errors on main is
# the whole point of this workflow (issue #567 — the motivating case was a
# `go vet` error in org_external.go that sat undetected on main for weeks).
# A vet error here fails the step → fails the job → shows red on the weekly
# commit. Per Gitea quirk #10 (job-level continue-on-error is ignored), that
# red surfaces on main — which is the intended signal, not a regression.
- name: go vet
run: go vet ./... || true
run: go vet ./...
# golangci-lint stays `|| true`-guarded: lint is noisier (more false-
# positives than vet) and golangci-lint may not be pre-installed on every
# runner image — a `|| true` here keeps a missing-binary or lint-noise case
# from masking the vet/test signal above. Tighten to match ci.yml's lint
# gate if/when ci.yml's lint step becomes hard-failing.
- name: golangci-lint
run: golangci-lint run --timeout 3m ./... || true