mirror of
https://github.com/AgentSeal/codeburn.git
synced 2026-08-23 15:34:19 +00:00
zstd landed in node:zlib in 22.15; the package floor and CI pin are 22.13, so the runtime already degrades with a notice there. The tests compressed fixtures at runtime and failed outright. Fixture writes now fall back to plain jsonl below 22.15 so parsing semantics still run, container-specific tests skip, and the Tests workflow runs on both 22.13.0 and latest 22.x.
42 lines
1.5 KiB
YAML
42 lines
1.5 KiB
YAML
name: Tests
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 15
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
# Package floor, and the newest 22.x so paths gated on later node:zlib
|
|
# features (zstd, 22.15+) get exercised.
|
|
node-version: [22.13.0, 22]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: ${{ matrix.node-version }}
|
|
cache: npm
|
|
- run: npm ci
|
|
- name: Typecheck
|
|
run: npx tsc --noEmit
|
|
# The cache-refresh-lock files exercise a cross-process file lock and are
|
|
# parallelism-sensitive (they fail under full worker pressure and pass serially -
|
|
# reproduced repeatedly on unmodified main), so they run in their own serial step
|
|
# below instead of making every PR roll dice.
|
|
# Scoping (tests/ only, app/ excluded) lives in the package.json test
|
|
# script since #948, so CI and a contributor's `npm test` can never drift.
|
|
- name: Test suite (parallel)
|
|
run: npm test
|
|
# Single forked worker, so lock contention comes only from the child processes the
|
|
# tests spawn deliberately. Quarantined (reports, never gates): the process
|
|
# suite still races its own takeover window even serially on slow runners -
|
|
# tracked in #904; drop continue-on-error once that race is settled.
|
|
- name: Cache-lock suite (serial, quarantined)
|
|
continue-on-error: true
|
|
run: npm run test:locks
|