Skip to content

Add conformance page reconciliation test and off-page vector sets #686

Add conformance page reconciliation test and off-page vector sets

Add conformance page reconciliation test and off-page vector sets #686

Workflow file for this run

name: Site
on:
push:
branches: [main]
# spec-v<X.Y.Z> tag pushes are the release signal for a spec version
# (ADR-0021 D4): tagging rebuilds the site so /spec/v<X.Y.Z>/ goes live
# with cross-references pinned to that tag. Path filters do not apply to
# tag pushes, so this fires regardless of which files the tagged commit
# touched.
tags: ["spec-v*"]
paths: [site/**, spec/**]
pull_request:
branches: [main]
paths: [site/**]
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: pages
cancel-in-progress: true
defaults:
run:
working-directory: site
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
# sync-spec.mjs reads spec-v<X.Y.Z> tags to decide which versions
# are released; the default fetch-depth: 1 checkout omits tags.
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: "24"
- name: Install pnpm
run: corepack enable && corepack install
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Test build scripts
run: pnpm test
- name: Install Playwright Chromium (for mermaid rendering)
run: pnpm exec playwright install --with-deps chromium
- name: Build site
run: pnpm build
- name: Upload artifact
if: github.event_name == 'push'
uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0
with:
path: site/dist
deploy:
if: github.event_name == 'push'
needs: build
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5