|
Some checks failed
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 10s
CI / Detect changes (pull_request) Successful in 33s
E2E API Smoke Test / detect-changes (pull_request) Successful in 50s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Successful in 14s
Harness Replays / detect-changes (pull_request) Successful in 25s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 46s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 45s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 18s
qa-review / approved (pull_request) Failing after 13s
gate-check-v3 / gate-check (pull_request) Failing after 22s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 44s
security-review / approved (pull_request) Failing after 15s
sop-checklist / all-items-acked (pull_request) [info tier:low] acked: 0/7 — missing: comprehensive-testing, local-postgres-e2e, staging-smoke, +4 — body-unfilled: comprehensive-testing, l
sop-checklist-gate / gate (pull_request) Successful in 11s
sop-tier-check / tier-check (pull_request) Successful in 12s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 1m20s
lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request) Successful in 1m44s
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (pull_request) Successful in 1m50s
Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request) Successful in 2m1s
lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request) Successful in 2m14s
CI / Canvas (Next.js) (pull_request) Successful in 9s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 6s
CI / Python Lint & Test (pull_request) Successful in 8s
Harness Replays / Harness Replays (pull_request) Successful in 7s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 8s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
CI / Platform (Go) (pull_request) Failing after 4m8s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Failing after 4m5s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 4m17s
CI / all-required (pull_request) Successful in 3s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 9m57s
Root cause of CI hang (CI / Platform (Go) failing after 2m11s): 1. TestBroadcast_DropsOnClosedChannel: created an UNBUFFERED channel (make(chan []byte) with no buffer). When Broadcast calls safeSend on this channel, the send blocks indefinitely because nothing is reading from it. go test hangs forever waiting for the test to complete. Fix: use make(chan []byte, 1) buffered channel, fill and close it so safeSend hits the default case (returns false) without blocking. 2. Pointer identity: Broadcast tests used anonymous struct literals in h.clients map assignments, but Go map keys store copies of structs. The range iteration returns a pointer to the stored COPY, not the original literal — so the pointers differ. This matters for tests that might assert pointer identity or pass the client to other functions. Fix: use named client variables so the map key and Broadcast's range both refer to the same *Client pointer. Applied to all Broadcast tests defensively. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| cmd | ||
| internal | ||
| migrations | ||
| pkg/provisionhook | ||
| .air.toml | ||
| .ci-force | ||
| .gitignore | ||
| .golangci.yaml | ||
| Dockerfile | ||
| Dockerfile.dev | ||
| Dockerfile.tenant | ||
| entrypoint-tenant.sh | ||
| go.mod | ||
| go.sum | ||