ci: remove --no-config; respect project .golangci.yaml (mc#1099)
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 25s
security-review / approved (pull_request) Failing after 26s
Runtime PR-Built Compatibility / detect-changes (pull_request) Waiting to run
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 19s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Blocked by required conditions
CI / Platform (Go) (pull_request) Successful in 21m47s
Secret scan / Scan diff for credential-shaped strings (pull_request) Waiting to run
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (pull_request) Successful in 1m52s
qa-review / approved (pull_request) Waiting to run
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 17s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 38s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 26s
CI / Detect changes (pull_request) Successful in 1m11s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Successful in 19s
lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request) Successful in 3m18s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 1m4s
sop-checklist / all-items-acked (pull_request) Successful in 27s
E2E API Smoke Test / detect-changes (pull_request) Successful in 1m7s
CI / Canvas (Next.js) (pull_request) Failing after 16m49s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request) Successful in 3m4s
CI / Python Lint & Test (pull_request) Failing after 8m13s
lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request) Successful in 3m33s
CI / all-required (pull_request) Failing after 8m42s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 15s
sop-tier-check / tier-check (pull_request) Successful in 26s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 1m45s
gate-check-v3 / gate-check (pull_request) Successful in 1m0s
lint-mask-pr-atomicity / lint-mask-pr-atomicity (pull_request) Successful in 3m23s

Root cause of the 5m1s golangci-lint failure (run 48604):
--no-config makes v2.x use ALL default linters including errcheck,
which the project's .golangci.yaml explicitly disables. 30+ errcheck
violations were reported (unchecked fmt.Fprintf, os.Setenv,
rows.Close, etc.) — all legitimately exempted by the project config.

Fix: drop --no-config so the project's config is respected. The
workspace-server/.golangci.yaml has timeout: 3m; override it with
--timeout 30m for cold runner headroom. Cold runner pipeline:
  fetch-depth:0 clone     ~5-10m
  Go toolchain            ~5-10m
  go mod download         ~2-5m
  go build + go vet       ~2-5m
  golangci-lint install   ~2-5m  (cached on warm runner)
  golangci-lint run       ~2-5m  (errcheck disabled → 0 issues)
  = up to 30m total

retry-trigger: 2026-05-15T12:20 UTC (attempt 10 — remove --no-config)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-15 12:21:42 +00:00
parent 6c7a02b2f0
commit 9e05fcb947
+10 -6
View File
@@ -176,12 +176,16 @@ jobs:
run: go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.12.2
- if: success()
name: Run golangci-lint
# mc#1099: --no-config bypasses .golangci.yaml ceiling; --timeout 30m
# is the active constraint. Cold runner: fetch-depth:0 clone (5-10m) + Go
# toolchain (5-10m) + mod download (2-5m) + build + vet + install lint
# (5m) = ~15-20m before linting even starts. 30m gives headroom.
# retry-trigger: 2026-05-15T12:05 UTC (attempt 9 — confirm 30m in file)
run: $(go env GOPATH)/bin/golangci-lint run --no-config --timeout 30m ./...
# mc#1099: remove --no-config. The workspace-server/.golangci.yaml
# explicitly disables errcheck; with --no-config, v2.x enables all
# default linters (including errcheck) and reports 30+ violations.
# Respecting the project config lets the existing errcheck exemptions
# keep CI green. Override the 3m config timeout with --timeout 30m
# for cold runner headroom: fetch-depth:0 clone + Go toolchain +
# mod download + build + vet + install lint (~15-20m) + lint
# run (~5-10m) = up to 30m total.
# retry-trigger: 2026-05-15T12:20 UTC (attempt 10 — remove --no-config)
run: $(go env GOPATH)/bin/golangci-lint run --timeout 30m ./...
- if: success()
name: Diagnostic — per-package verbose 600s
run: |