markz

ci.yml

No prose in this file.

name: CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

permissions:
  contents: read

jobs:
  ci:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      - uses: pnpm/action-setup@v6
      - uses: actions/setup-node@v7
        with:
          node-version: 26
          cache: pnpm

      - run: pnpm install --frozen-lockfile

      # The same script Cloudflare runs before each deploy: check, test, build with publint, the
      # size budget, then the site. arethetypeswrong was ruled out, since it checks for old Node
      # resolution that markz, ESM only on Node 26, doesn't support.
      - run: pnpm run verify