Files
stanza/.github/workflows/ci.yml
T

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