Files
2026-08-25 11:22:02 +03:00

51 lines
1.2 KiB
YAML

name: CI
on:
push:
pull_request:
permissions:
contents: read
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: pnpm/action-setup@8912a9102ac27614460f54aedde9e1e7f9aec20d # v6.0.5
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22
- run: pnpm install --frozen-lockfile
- run: pnpm typecheck
- run: pnpm lint
- name: Check every published import is declared (JSR resolvability)
run: pnpm check-deps
- run: pnpm test
- run: pnpm build
- name: Smoke-test built entrypoints load in raw Node
run: pnpm smoke
- name: Smoke-test the packed tarball without optional peers
run: pnpm smoke:pack
- name: Check type exports (attw)
run: pnpm check-exports
# Covers slow types and the jsr.json payload. Bare specifiers resolve
# through the local node_modules here, so `pnpm check-deps` above is what
# guards the registry-side module graph.
- name: Verify JSR packaging
run: pnpm dlx jsr@0.14.3 publish --dry-run --allow-dirty