Skip to content

chore: merge dev into main #372

chore: merge dev into main

chore: merge dev into main #372

Workflow file for this run

# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
name: CI
on:
pull_request:
branches:
- main
- dev
types: [opened, synchronize, reopened, ready_for_review]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
verify:
name: Verify
runs-on: ubuntu-latest
if: github.event.pull_request.draft == false
steps:
- uses: actions/checkout@v7
- uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6
- uses: actions/setup-node@v7
with:
node-version: 24
cache: pnpm
- name: Install dependencies
run: pnpm install --frozen-lockfile
# One step per command in `pnpm verify`, which is the gate run locally
# (the root `verify` key in .tituskirch-skills.json). `!cancelled()` is
# what stops a failing step from suppressing the ones after it, so one
# run reports every failure and names each in the job's step list.
#
# The two lists have to stay in step: test/ci-gate.test.ts fails if a
# command is added to `verify` without a step here, or the reverse.
- name: Lint
if: ${{ !cancelled() }}
run: pnpm lint
- name: Format
if: ${{ !cancelled() }}
run: pnpm format
- name: Skills in sync
if: ${{ !cancelled() }}
run: pnpm skills:check
- name: Typecheck
if: ${{ !cancelled() }}
run: pnpm typecheck
- name: Test
if: ${{ !cancelled() }}
run: pnpm test