Skip to content

Prep repo for public release #4

Prep repo for public release

Prep repo for public release #4

Workflow file for this run

name: Test
# Pipeline 1 of 2 — typecheck + vitest suite. Runs on every push/PR.
# All vitest tests are written against mocked fetch / stubbed puppeteer drivers, so
# no production Wave credentials are touched here. The Build workflow (pipeline 2)
# is chained off this one and only runs if Test passes on `main`.
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
permissions:
contents: read
concurrency:
group: test-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
name: Node ${{ matrix.node }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node: ['20', '22']
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node ${{ matrix.node }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: npm
# We deliberately use `npm ci --ignore-scripts` to skip the `prepare` hook —
# CI runners don't need a pre-commit hook installed and the install script's
# /.git check would fail anyway on a fresh checkout-with-no-hooks-dir.
- name: Install dependencies
run: npm ci --ignore-scripts
- name: Type-check
run: npm run typecheck
- name: Run tests
run: npm test