fix(ci): stop flaky shard reds and cut wasted runner minutes

Merged
RI
3mo ago
+584-173

Summary (AI generated)

  • Fixed deterministic admin-stats trial_plan_breakdown assertion (3 → 4) after invite-org fixture from #2883
  • Gated backend / Cloudflare / Playwright / SQL jobs behind lint_typecheck + dead_code, and set fail-fast: true on backend + CF matrices
  • Moved /updates /stats /channel_self off the 8-way CF shard matrix onto a serial Cloudflare plugin job; lowered CF maxConcurrency to 2
  • Hardened Supabase worktree Docker port cleanup (force-remove leftover containers, reserve/free CF worker ports)
  • Added edge/plugin warm-ups and clearer non-200 diagnostics for cron_email / postUpdate / encryption rejection

Motivation (AI generated)

Main CI kept burning money on recurring shard failures (backend 5/6 + 6/6, CF 7/8, historically CF 4/8): a broken admin-stats fixture assertion every push, workerd 503s under parallel plugin load, Docker port binds after cancelled jobs, and cold edge 502s. Lint failures also still spun all heavy Docker shards because they only depended on changes.

Business Impact (AI generated)

Fewer red main pushes and cancelled sibling jobs mean lower GitHub Actions spend and faster feedback for Capgo releases. Stable CI unblocks shipping console/backend changes without retry roulette.

Test Plan (AI generated)

  • Confirm admin-stats trial_plan_breakdown passes on backend shard 5/6 and CF paths
  • Confirm Cloudflare plugin serial job runs updates/stats/channel_self and sharded CF jobs no longer include them
  • Confirm a lint/deadcode failure skips backend/CF/playwright Docker jobs
  • Confirm fail-fast cancels remaining backend/CF shards after one failure
  • Watch next Bump version runs for absence of CF 503 on updates-manifest and backend cron_email 502

Generated with AI

Open in Web Open in Cursor 

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Summary by CodeRabbit

  • Bug Fixes

    • Improved handling of temporary service startup failures, gateway responses, encryption error formats, and missing build permissions.
    • Enhanced cleanup and retry behavior for local development environments, reducing port conflicts and stale services.
  • Tests

    • Increased reliability of integration, plugin, Cloudflare, and browser test runs through endpoint warming, retries, clearer diagnostics, and controlled execution.
    • Refined test sequencing so quality checks complete more predictably.