chore: merge dev into main #378
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 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 |