docs(site): publish cross-language conformance as a citeable page #681
Workflow file for this run
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
| 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 |