Prep repo for public release #4
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |