… publish.yml
Two related cleanups:
1. **main.yml now runs ALL package tests**, not just melonjs. The
adapter test specs (3 × matter, 3 × planck) existed but were
only invoked at publish time — meaning PR merges never gated on
them. The new `pnpm -F @melonjs/{matter,planck}-adapter test`
lines run inside the same `mcr.microsoft.com/playwright:v1.59.1-noble`
container the existing melonjs test job uses, so chromium is
pre-baked, no install step needed.
2. **publish.yml stops re-running tests** that main.yml now gates:
- Drop the `Install Playwright browsers` step entirely (no
tests at publish time → no chromium needed).
- melonjs `pnpm dist` (`clean + lint + vitest + build + doc`) is
replaced with new `pnpm dist:publish` (drops `vitest`).
- matter / planck build_cmd drops the trailing `&& pnpm test`.
This also sidesteps a real Playwright bug we've been hitting all day:
on bare `ubuntu-latest` runners, `playwright install chromium` was
hanging indefinitely on the post-download extract step (download
itself completes in <2s; extract emits no further log line and
times out the entire job). Six consecutive runs hit the same hang
on distinct runners. Identified via the `DEBUG: pw:install` +
`timeout-minutes: 10` instrumentation from #1496. Sidestepping the
install entirely is the cleanest fix and aligns with main.yml's
container-based approach anyway.
Local verify:
- `pnpm -F @melonjs/matter-adapter test` → 177 / 177 pass
- `pnpm -F @melonjs/planck-adapter test` → 169 / 169 pass
- `pnpm dist:publish` → clean exit, docs generated
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Two related cleanups that also unblock the 19.7.0 publish:
1. main.yml now gates all package tests, not just melonjs
The adapter test specs (3 × matter, 3 × planck) existed but were only invoked at publish time — PR merges never gated on them. The new `pnpm -F @melonjs/{matter,planck}-adapter test` lines run inside the same `mcr.microsoft.com/playwright:v1.59.1-noble` container the existing melonjs test job uses, so chromium is pre-baked and no install step is needed.
Pre-existing CI gap closed.
2. publish.yml stops re-running tests main.yml now gates
Also sidesteps a real Playwright bug
We've been blocked all day shipping 19.7.0 because on bare `ubuntu-latest` runners, `playwright install chromium` was hanging indefinitely on the post-download extract step. Download itself completes in <2s; extract emits no further log line and times out the whole job. Six consecutive runs hit the same hang on distinct runners. Identified via the `DEBUG: pw:install` + `timeout-minutes: 10` instrumentation that #1496 added. The container-based path main.yml already uses sidesteps the install entirely.
Test plan
🤖 Generated with Claude Code