Commit a5ea4b5
ci: gate migrate-ts real-Postgres on every push, not after publish
The migrate-ts PG suites ran only on the v* tag push. Tags are pushed AFTER
`bun publish`, so red arrived strictly after four immutable registries were
already updated — which is why the lane sat red for eight consecutive releases
(v0.20.11 through v0.21.1, repaired in #280) with nobody acting on it. The
same suites `describe.skip` silently without MIGRATE_TS_PG_URL, so local runs,
PR runs, and even conformance.yml's own migrate-ts step all looked green while
the real-engine half executed nowhere except post-publish.
ADR-0015 makes migrate-ts the project's only migrate engine, so this is the
only real-engine gate on migration correctness.
local-ci.yml's ts-slow lane now arms the suite from its EXISTING Postgres
sidecar — no new container, no hosted minutes (the job takes ~50s; the
"EXPENSIVE" label on integration-tests.yml belongs to the 5-port Testcontainers
matrix, not this). It is ordered before the docker integration step so a
container-readiness flake there cannot mask the migrate verdict.
A sentinel test makes the silent skip loud where it matters: a lane that
intends real PG sets MIGRATE_TS_PG_EXPECT=1 beside the URL, and the sentinel
fails if the URL ever stops being set. A workflow-level `test -n` check could
not do this — it inspects the workflow's env, not what the test process reads,
so a rename inside the tests is precisely the drift it would miss. The skip
stays the default for contributors without Postgres and for the deliberately
DB-free lanes.
The tag job is kept as the cold-environment release backstop (the self-hosted
runner is warm), with its comment rewritten so red there reads as a broken
release already live, not as noise. RELEASING.md gains a wait-for-local-ci-green
step before publish — the last gate that can precede the irreversible one.
Residual, stated plainly: red is now post-merge rather than pre-merge; a
publish cut minutes after a merge can still beat the verdict; a cold-only
failure still surfaces first on the tag; and if the self-hosted runner is down
nothing goes red at all.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KTGT5ksntpcJDZVJ5VyXHS1 parent c499d50 commit a5ea4b5
6 files changed
Lines changed: 75 additions & 3 deletions
File tree
- .github/workflows
- docs
- scripts
- server/typescript/packages/migrate-ts/test/integration
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
142 | 142 | | |
143 | 143 | | |
144 | 144 | | |
145 | | - | |
| 145 | + | |
| 146 | + | |
146 | 147 | | |
147 | 148 | | |
148 | 149 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
116 | 116 | | |
117 | 117 | | |
118 | 118 | | |
119 | | - | |
120 | | - | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
121 | 127 | | |
122 | 128 | | |
123 | 129 | | |
| |||
150 | 156 | | |
151 | 157 | | |
152 | 158 | | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
153 | 162 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
140 | 140 | | |
141 | 141 | | |
142 | 142 | | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
143 | 153 | | |
144 | 154 | | |
145 | 155 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
198 | 198 | | |
199 | 199 | | |
200 | 200 | | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
201 | 212 | | |
202 | 213 | | |
203 | 214 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
146 | 146 | | |
147 | 147 | | |
148 | 148 | | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
149 | 157 | | |
150 | 158 | | |
151 | 159 | | |
| |||
345 | 353 | | |
346 | 354 | | |
347 | 355 | | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
348 | 359 | | |
349 | 360 | | |
350 | 361 | | |
| |||
Lines changed: 30 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
0 commit comments