build.yml•921 B
name: Build Check
on:
push:
branches: [master, main]
pull_request:
branches: [master, main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
name: Lint, Format, Build
runs-on: ubuntu-latest
strategy:
matrix:
node: [18, 20, 22]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node ${{ matrix.node }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: yarn
- name: Install dependencies
run: yarn --frozen-lockfile
- name: Type check
run: yarn type-check
- name: Run linter
run: yarn lint:check
- name: Check formatting
run: yarn format:check
- name: Build project
run: yarn build
- name: Pack dry run
run: npm pack --dry-run