Skip to content

chore(release): v0.3.2 #56

chore(release): v0.3.2

chore(release): v0.3.2 #56

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
# Ubuntu covers Node engine range (20/22). macOS adds coverage for the
# darwin-only install-daemon / plist paths; ubuntu skips those via
# `if (process.platform !== 'darwin') return` inside the tests.
# Keep only one macOS leg to limit spend — macos runners bill ~10x.
include:
- os: ubuntu-latest
node: '20'
- os: ubuntu-latest
node: '22'
- os: macos-latest
node: '22'
name: ${{ matrix.os }} / Node ${{ matrix.node }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4.4.0
with:
version: 10
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: ${{ matrix.node }}
cache: 'pnpm'
- run: pnpm install --frozen-lockfile
# build runs tsc (typecheck) + chmod. dist/ is required by
# tests/bin-smoke.test.ts, so this must precede vitest.
- run: pnpm build
# Skip the --fix variant from package.json; CI must not silently
# modify source. Fail on any lint error instead.
- run: pnpm exec eslint .
- run: pnpm vitest run