Skip to content

chore(deps-dev): bump the types group across 1 directory with 2 updates #1870

chore(deps-dev): bump the types group across 1 directory with 2 updates

chore(deps-dev): bump the types group across 1 directory with 2 updates #1870

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
build-and-test:
name: build · test (${{ matrix.os }}, node ${{ matrix.node }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
# Cover every (OS × arch) combination we promise in the README
# install matrix. macOS-14 is Apple Silicon (arm64); macOS-13
# is Intel (x64). windows-latest covers x64; windows-11-arm
# covers Surface / Copilot+ PCs (the case that broke v0.33).
# ubuntu-latest covers x64; ubuntu-24.04-arm covers ARM Linux
# servers (Graviton, etc.).
os:
- ubuntu-latest
- ubuntu-24.04-arm
- windows-latest
- windows-11-arm
- macos-13
- macos-14
# Node 22 LTS and Node 24 (the brand-new release that broke
# v0.33's better-sqlite3 prebuild). v0.34's node:sqlite
# migration removes that fragility.
node: ['22', '24']
# Skip combinations GitHub doesn't host runners for.
exclude:
- os: windows-11-arm
node: '24' # windows-11-arm runner doesn't ship Node 24 yet — re-add when available
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 50
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: 'npm'
- name: Configure git for tests
run: |
git config --global user.email "ci@mneme.dev"
git config --global user.name "Mneme CI"
git config --global init.defaultBranch main
git config --global core.autocrlf false
# v1.23.5: npm ci self-heal on EINTEGRITY drift.
# v1.24.2: --ignore-scripts safety net for onnxruntime-node@1.22.0
# packaging bug (its install script needs adm-zip without declaring it).
- name: Install (self-heal + ignore-scripts)
shell: bash
run: npm ci --ignore-scripts || (echo "::warning::lockfile integrity drift -- self-healing"; node scripts/heal-lockfile.mjs && npm ci --ignore-scripts)
- name: Build
run: npm run build
- name: Lint (typecheck)
run: npm run lint
- name: Unit + integration tests
run: npm test
- name: Eval harness (regression gate)
run: npm run eval -- --variant baseline --quiet
eval-matrix:
name: eval · all variants
runs-on: ubuntu-latest
needs: build-and-test
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 50
- uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
- name: Configure git
run: |
git config --global user.email "ci@mneme.dev"
git config --global user.name "Mneme CI"
git config --global core.autocrlf false
# v1.23.5: npm ci self-heal on EINTEGRITY drift.
# v1.24.2: --ignore-scripts safety net for onnxruntime-node@1.22.0
# packaging bug (its install script needs adm-zip without declaring it).
- name: Install (self-heal + ignore-scripts)
shell: bash
run: npm ci --ignore-scripts || (echo "::warning::lockfile integrity drift -- self-healing"; node scripts/heal-lockfile.mjs && npm ci --ignore-scripts)
- run: npm run build
- name: Run full eval
run: npm run eval -- --out tests/.tmp/eval-report.json
- uses: actions/upload-artifact@v4
with:
name: eval-report
path: tests/.tmp/eval-report.json
retention-days: 30
bench:
name: bench · perf
runs-on: ubuntu-latest
needs: build-and-test
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
- name: Configure git
run: |
git config --global user.email "ci@mneme.dev"
git config --global user.name "Mneme CI"
git config --global core.autocrlf false
# v1.23.5: npm ci self-heal on EINTEGRITY drift.
# v1.24.2: --ignore-scripts safety net for onnxruntime-node@1.22.0
# packaging bug (its install script needs adm-zip without declaring it).
- name: Install (self-heal + ignore-scripts)
shell: bash
run: npm ci --ignore-scripts || (echo "::warning::lockfile integrity drift -- self-healing"; node scripts/heal-lockfile.mjs && npm ci --ignore-scripts)
- run: npm run build
- name: Run benchmark (small + medium)
run: npm run bench -- --only small --out tests/.tmp/bench-small.json
- uses: actions/upload-artifact@v4
with:
name: bench-report
path: tests/.tmp/*.json
retention-days: 30