Skip to content

chore: release v0.2.0 #20

chore: release v0.2.0

chore: release v0.2.0 #20

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions: {}
jobs:
runtime-node-18:
name: Node 18 package runtime
runs-on: ubuntu-latest
timeout-minutes: 10
permissions:
contents: read
steps:
- name: Check out repository
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
- name: Set up Node.js 18
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: 18
cache: npm
- name: Verify packed package runtime
run: npm run check:runtime
test:
name: Node ${{ matrix.node-version }}
runs-on: ubuntu-latest
timeout-minutes: 10
permissions:
contents: read
strategy:
# Tooling requires Node 20+, while the published runtime remains compatible with Node 18.
matrix:
node-version: [20, 22, 24]
steps:
- name: Check out repository
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
- name: Set up Node.js ${{ matrix.node-version }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: ${{ matrix.node-version }}
cache: npm
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run lint
- name: Typecheck
run: npm run typecheck
- name: Unit tests
run: npm test
- name: Build
run: npm run build
- name: Verify dist is tracked and unchanged
run: |
git diff --exit-code -- dist
test -z "$(git status --porcelain --untracked-files=all -- dist)" || {
git status --short --untracked-files=all -- dist
echo "dist contains untracked or modified files" >&2
exit 1
}
- name: Verify packed package
run: npm run check:package
- name: Package smoke checks
run: npm run smoke