mirror of
https://github.com/jakejarvis/stanza.git
synced 2026-07-16 18:05:58 -04:00
66 lines
1.8 KiB
YAML
66 lines
1.8 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
concurrency:
|
|
group: ci-${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build:
|
|
name: Build
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 10
|
|
steps:
|
|
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # ratchet:actions/checkout@v6
|
|
|
|
- uses: voidzero-dev/setup-vp@2dec1e33f4ab2c6d5bce1b0c4607961bb1a3f7a1 # ratchet:voidzero-dev/setup-vp@v1
|
|
with:
|
|
node-version: 24
|
|
cache: true
|
|
|
|
- name: Build
|
|
run: vp run build
|
|
|
|
- name: Lint
|
|
run: vp check
|
|
|
|
- name: Tests
|
|
run: vp test
|
|
|
|
- name: Smoke-test built CLI
|
|
run: |
|
|
node apps/cli/dist/bin.mjs --version
|
|
node apps/cli/dist/bin.mjs --help
|
|
|
|
# Guards the immutability of the registry's per-module version pins on Blob: a
|
|
# module whose compiled content changed must bump its package.json version.
|
|
# Self-gating — no-ops when nothing under registry/modules/** changed, so it's
|
|
# cheap to run on every PR.
|
|
verify-registry:
|
|
name: Verify registry
|
|
runs-on: ubuntu-latest
|
|
if: github.event_name == 'pull_request'
|
|
timeout-minutes: 10
|
|
permissions:
|
|
contents: read
|
|
steps:
|
|
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # ratchet:actions/checkout@v6
|
|
with:
|
|
# The guard diffs against the PR base via merge-base — needs history.
|
|
fetch-depth: 0
|
|
|
|
- uses: voidzero-dev/setup-vp@2dec1e33f4ab2c6d5bce1b0c4607961bb1a3f7a1 # ratchet:voidzero-dev/setup-vp@v1
|
|
with:
|
|
node-version: 24
|
|
cache: true
|
|
|
|
- name: Fetch base branch
|
|
run: git fetch origin "$GITHUB_BASE_REF"
|
|
|
|
- name: Check module version bumps
|
|
run: vp exec jiti scripts/check-module-versions.ts
|