CI guard: this lab pins dark and ships no theme toggle #34
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: Deploy to GitHub Pages | |
| on: | |
| push: | |
| branches: [main] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| concurrency: | |
| group: pages | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24 | |
| cache: npm | |
| - run: npm ci | |
| # All ten tsx suites: the range-proof core, boundaries, serialization, | |
| # true aggregation, batch verification, extras, the inner-product | |
| # argument, proof soundness, the UI smoke pass and the static a11y | |
| # check. Deploy previously ran only test:a11y (Playwright), so none of | |
| # the nine correctness suites gated a publish — a build whose proofs | |
| # verified nothing could ship as long as the page passed axe. | |
| - name: Correctness suites | |
| run: npm test | |
| - run: npm run build | |
| - name: Install Playwright browser | |
| run: npx playwright install --with-deps chromium | |
| - name: Accessibility gate (axe-core, WCAG A/AA) | |
| run: npm run test:a11y | |
| - uses: actions/configure-pages@v6 | |
| - uses: actions/upload-pages-artifact@v5 | |
| with: | |
| path: dist | |
| deploy: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - id: deployment | |
| uses: actions/deploy-pages@v5 |