Skip to content

chore(release): 0.4.0 — async store/orchestrator, DLQ, per-task timeo… #14

chore(release): 0.4.0 — async store/orchestrator, DLQ, per-task timeo…

chore(release): 0.4.0 — async store/orchestrator, DLQ, per-task timeo… #14

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- main
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: ['22', '24']
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup Node
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}
cache: npm
- name: Install dependencies
run: npm ci
- name: Build core (required before server typecheck)
run: npm run build
- name: Typecheck (all workspaces)
run: npm run check
- name: Test core
run: npm test
- name: Test server
run: npm run test:server
- name: Test testkit (conformance suite against reference adapter)
run: npm run test:testkit
- name: Test postgres adapter (unit / schema tests)
run: npm run test:postgres
- name: Test memory adapter (async conformance suite)
run: npm run test:memory
- name: Build server
run: npm run build:server
- name: Build testkit
run: npm run build:testkit
- name: Build postgres adapter
run: npm run build:postgres
- name: Build memory adapter
run: npm run build:memory
postgres-live:
name: Postgres live conformance
runs-on: ubuntu-latest
services:
postgres:
image: postgres:16
env:
POSTGRES_USER: pmcp
POSTGRES_PASSWORD: pmcp
POSTGRES_DB: pmcp_test
ports:
- 5432:5432
options: >-
--health-cmd="pg_isready -U pmcp"
--health-interval=5s
--health-timeout=5s
--health-retries=10
env:
DATABASE_URL: postgres://pmcp:pmcp@localhost:5432/pmcp_test
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup Node
uses: actions/setup-node@v6
with:
node-version: '22'
cache: npm
- name: Install dependencies
run: npm ci
- name: Build core (required before adapter typecheck)
run: npm run build
- name: Build testkit (required by postgres test imports)
run: npm run build:testkit
- name: Run live Postgres conformance suite
run: npm run test:postgres
compat-sqlite:
name: better-sqlite3 compat floor (v${{ matrix.better-sqlite3 }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: ['22']
better-sqlite3: ['11.10.0', '12.9.0']
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup Node
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}
cache: npm
- name: Install base dependencies
run: npm ci
- name: Pin better-sqlite3 to ${{ matrix.better-sqlite3 }}
run: npm install better-sqlite3@${{ matrix.better-sqlite3 }} --no-save --workspaces=false
- name: Build core
run: npm run build
- name: Typecheck
run: npm run check
- name: Test core
run: npm test
- name: Test server
run: npm run test:server
- name: Test testkit
run: npm run test:testkit
- name: Test memory adapter
run: npm run test:memory