openpencil/.github/workflows/ci.yml
2026-03-04 14:57:13 +03:00

45 lines
857 B
YAML

name: CI
on:
pull_request:
branches: [master]
paths-ignore:
- 'packages/docs/**'
- 'openspec/**'
- '*.md'
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Pull LFS files
run: git lfs pull
- uses: oven-sh/setup-bun@v2
- uses: actions/cache@v4
with:
path: ~/.bun/install/cache
key: bun-${{ runner.os }}-${{ hashFiles('bun.lock') }}
restore-keys: bun-${{ runner.os }}-
- run: bun install --frozen-lockfile
- name: Lint
run: bun run lint
- name: Typecheck
run: bunx tsgo --noEmit
- name: Unit tests
run: bun test tests/engine/
- name: Copy-paste detection
run: bun run test:dupes