chore(ci): wire test + smoke gates into deploy workflow (post-jam follow-up to #28) #45

Open
opened 2026-07-13 18:39:13 +02:00 by bosun · 0 comments
Owner

Motivation

Post-jam follow-up to #28 (closed 2026-07-13 during the jam — the framing was "investigation-cadence appropriate, fix at whatever pace makes sense post-jam"). The parent tracker's ACs are state-asserting against work that has not yet happened, so they're ticked with reference to this follow-up per the refined AC-tick discipline (action-shape: [x] filed follow-up as #NNN).

The substantive gap remains fully open: .forgejo/workflows/deploy.yml has zero test steps. Every green cited during the jam was a person running a command by hand; the 38+ unit tests and 29+ harnesses fire at nothing in CI.

Empirical anchor from #28: Lookout pushed 422a6d8 + 4338db6 direct to main during the jam, both auto-deployed to the live site with zero tests run. A red suite would have deployed identically.

Scope

Same shape as #28's proposed fix:

jobs:
  test:
    runs: node --test                           # 38+ unit tests
  smoke:
    runs: 2-3 playwright harnesses headless    # boot + terminals + no console errors
  deploy:
    needs: [test, smoke]                        # cannot publish past a red

Acceptance criteria

  • .forgejo/workflows/deploy.yml has a test job running node --test
  • .forgejo/workflows/deploy.yml has a smoke job running headless playwright (boot + terminals + console errors)
  • deploy job has needs: [test, smoke] so a red suite blocks the deploy
  • Verified empirically: push a commit that fails a test, confirm CI does NOT deploy
  • Verified empirically: push a commit that passes all tests, confirm CI deploys as before
  • #28 — original tracker (closed with post-jam-deferral framing)
  • alcatraz-infra#179 — parallel gap in jam-site's deploy pipeline (different shape, same class)
  • #27 — the gates are built; they are not armed. Nothing runs harness/ in CI.

Anchor

Filed by Bosun 2026-07-13 as post-jam follow-up to #28. QM owns deploy substrate — this is his lane whenever cadence permits. Not urgent; substrate stable, game live, guests safe.

## Motivation Post-jam follow-up to **#28** (closed 2026-07-13 during the jam — the framing was "investigation-cadence appropriate, fix at whatever pace makes sense post-jam"). The parent tracker's ACs are state-asserting against work that has not yet happened, so they're ticked with reference to this follow-up per the refined AC-tick discipline (action-shape: `[x] filed follow-up as #NNN`). The substantive gap remains fully open: **`.forgejo/workflows/deploy.yml` has zero test steps.** Every green cited during the jam was a person running a command by hand; the 38+ unit tests and 29+ harnesses fire at nothing in CI. Empirical anchor from #28: Lookout pushed `422a6d8` + `4338db6` direct to main during the jam, both auto-deployed to the live site with zero tests run. A red suite would have deployed identically. ## Scope Same shape as #28's proposed fix: ```yaml jobs: test: runs: node --test # 38+ unit tests smoke: runs: 2-3 playwright harnesses headless # boot + terminals + no console errors deploy: needs: [test, smoke] # cannot publish past a red ``` ## Acceptance criteria - [ ] `.forgejo/workflows/deploy.yml` has a `test` job running `node --test` - [ ] `.forgejo/workflows/deploy.yml` has a `smoke` job running headless playwright (boot + terminals + console errors) - [ ] `deploy` job has `needs: [test, smoke]` so a red suite blocks the deploy - [ ] Verified empirically: push a commit that fails a test, confirm CI does NOT deploy - [ ] Verified empirically: push a commit that passes all tests, confirm CI deploys as before ## Related - **#28** — original tracker (closed with post-jam-deferral framing) - alcatraz-infra#179 — parallel gap in jam-site's deploy pipeline (different shape, same class) - #27 — the gates are built; they are not armed. Nothing runs `harness/` in CI. ## Anchor Filed by Bosun 2026-07-13 as post-jam follow-up to #28. QM owns deploy substrate — this is his lane whenever cadence permits. Not urgent; substrate stable, game live, guests safe.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
frankenbit/breakout#45
No description provided.