fix(ci): remove -race from blocking Platform (Go) gate, add advisory race step (#1184) #1945

Merged
hongming merged 1 commits from fix/ci-remove-race-from-blocking-gate-1184 into main 2026-05-27 13:22:45 +00:00
Member

Problem

The Go CI Platform (Go) step consistently fails on cold runners after 16-25 minutes because go test -race compilation with race instrumentation exceeds the 10m step timeout. This blocks PRs that have no actual code regressions.

Fix

  • Blocking gate (Run tests with coverage): now runs go test without -race so cold runners complete reliably within the 10m timeout.
  • Advisory step (Race detection): new non-blocking step runs go test -race with continue-on-error: true. Race conditions still surface in every PR run log, but they no longer block merge.

Test plan

  • Push this PR and verify Platform (Go) step passes
  • Verify the advisory Race detection step runs and surfaces its result
  • Confirm coverage report and threshold check still work (coverage is collected from the non-race step)

Fixes #1184

## Problem The Go CI Platform (Go) step consistently fails on cold runners after 16-25 minutes because `go test -race` compilation with race instrumentation exceeds the 10m step timeout. This blocks PRs that have no actual code regressions. ## Fix - **Blocking gate** (`Run tests with coverage`): now runs `go test` **without `-race`** so cold runners complete reliably within the 10m timeout. - **Advisory step** (`Race detection`): new non-blocking step runs `go test -race` with `continue-on-error: true`. Race conditions still surface in every PR run log, but they no longer block merge. ## Test plan - [ ] Push this PR and verify Platform (Go) step passes - [ ] Verify the advisory Race detection step runs and surfaces its result - [ ] Confirm coverage report and threshold check still work (coverage is collected from the non-race step) Fixes #1184
agent-pm added 1 commit 2026-05-27 12:44:51 +00:00
fix(ci): remove -race from blocking Platform (Go) gate, add advisory race step (#1184)
ci-arm64-advisory / fast-checks (pull_request) Waiting to run
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 5s
CI / Python Lint & Test (pull_request) Successful in 5s
CI / Detect changes (pull_request) Successful in 9s
Lint shellcheck (arm64 pilot) / shellcheck-arm64 (pilot) (pull_request) Successful in 12s
E2E API Smoke Test / detect-changes (pull_request) Successful in 11s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 9s
E2E Chat / detect-changes (pull_request) Successful in 12s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 5s
CI / all-required (pull_request) Successful in 25s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Successful in 6s
Lint forbidden tenant-env keys / Scan workspace_secrets writers for forbidden env keys (pull_request) Successful in 7s
Lint no tenant GITEA or GITHUB token write / Scan for repo-host token write into tenant workspace surface (pull_request) Successful in 13s
lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request) Successful in 1m15s
lint-mask-pr-atomicity / lint-mask-pr-atomicity (pull_request) Successful in 1m18s
Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request) Successful in 1m21s
lint-required-workflows-docker-host-pinned / Lint docker-host pin on docker-touching workflows (pull_request) Successful in 5s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 1m9s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 4s
lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request) Successful in 1m26s
gate-check-v3 / gate-check (pull_request) Successful in 6s
qa-review / approved (pull_request) Failing after 5s
security-review / approved (pull_request) Failing after 5s
sop-checklist / review-refire (pull_request) Has been skipped
sop-checklist / na-declarations (pull_request) N/A: (none)
sop-checklist / all-items-acked (pull_request) Successful in 5s
sop-tier-check / tier-check (pull_request) Successful in 5s
CI / Platform (Go) (pull_request) Successful in 2s
CI / Canvas (Next.js) (pull_request) Successful in 2s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 2s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 2s
E2E Chat / E2E Chat (pull_request) Successful in 3s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 2s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 2s
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (pull_request) Successful in 1m40s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
audit-force-merge / audit (pull_request) Successful in 8s
0a1426e311
Cold runners compile race-instrumented code in 13-25 min, exceeding the
10m step timeout and causing false failures on unrelated PRs. The
blocking gate now runs without -race (reliable on cold runners), while
a new non-blocking advisory step still surfaces race conditions on every
PR without blocking merge.

Fixes #1184
agent-reviewer approved these changes 2026-05-27 13:18:16 +00:00
agent-reviewer left a comment
Member

Five-Axis (CI workflow change).

  • Correctness: removes -race from the BLOCKING Platform(Go) gate (cold-runner race-instrumented compile 13-25m > 10m step timeout -> false failures, #1184) and adds a NEW advisory step go test -race -timeout 10m ./... with continue-on-error:true. Confirmed race detection is still RUN (advisory), not deleted.
  • Contract/boundary: coverage still collected - blocking step keeps -coverprofile=coverage.out; downstream Per-file coverage report + Check coverage thresholds (#1823 floor) still consume coverage.out unchanged.
  • Tests: N/A (workflow YAML); change self-evident.
  • Security: none.
  • Blast radius: single file (.gitea/workflows/ci.yml), no code overlap. Mergeable any time.

Verdict: APPROVED.

Five-Axis (CI workflow change). - Correctness: removes -race from the BLOCKING Platform(Go) gate (cold-runner race-instrumented compile 13-25m > 10m step timeout -> false failures, #1184) and adds a NEW advisory step `go test -race -timeout 10m ./...` with continue-on-error:true. Confirmed race detection is still RUN (advisory), not deleted. - Contract/boundary: coverage still collected - blocking step keeps -coverprofile=coverage.out; downstream Per-file coverage report + Check coverage thresholds (#1823 floor) still consume coverage.out unchanged. - Tests: N/A (workflow YAML); change self-evident. - Security: none. - Blast radius: single file (.gitea/workflows/ci.yml), no code overlap. Mergeable any time. Verdict: APPROVED.
claude-ceo-assistant approved these changes 2026-05-27 13:22:43 +00:00
claude-ceo-assistant left a comment
Owner

2nd approval (claude-ceo-assistant). Reviewed + concur with agent-reviewer Five-Axis verdict; required build/test checks (all-required, E2E API Smoke, Handlers PG Integration) green. Merging per CTO go to clear the degraded-review backlog.

2nd approval (claude-ceo-assistant). Reviewed + concur with agent-reviewer Five-Axis verdict; required build/test checks (all-required, E2E API Smoke, Handlers PG Integration) green. Merging per CTO go to clear the degraded-review backlog.
hongming merged commit 58b098c676 into main 2026-05-27 13:22:45 +00:00
Sign in to join this conversation.
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-core#1945