docs: ground the experimental-tier architecture — status is a maturit… #311
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
| # .github/workflows/pages — publish the live in-browser detection page to GitHub Pages. | |
| # Builds the collector live-page bundle + rule registry JSON + scoreboard, assembles site/, and deploys. | |
| name: pages | |
| on: | |
| push: { branches: [main] } | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| concurrency: | |
| group: pages | |
| cancel-in-progress: true | |
| jobs: | |
| build-and-deploy: | |
| runs-on: ubuntu-latest | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deploy.outputs.page_url }} | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| # Build the live detection page bundle (collector → site-build/main.js). | |
| - uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6 | |
| with: { version: "9.12.0" } | |
| - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: { node-version: "22", cache: pnpm, cache-dependency-path: collector/pnpm-lock.yaml } | |
| - name: Build live-page bundle | |
| working-directory: collector | |
| run: | | |
| pnpm install --frozen-lockfile | |
| pnpm run build:livepage | |
| # Render the rule registry JSON (consumed by the page) + the evader scoreboard. | |
| - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 | |
| with: { enable-cache: true } | |
| - name: Render registry + scoreboard | |
| working-directory: harness | |
| run: | | |
| uv sync | |
| mkdir -p ../site | |
| uv run python -m kitsune_harness.rules_json > ../site/rules.json | |
| uv run python -m kitsune_harness > ../site/scoreboard.md | |
| uv run python -m kitsune_harness --json > ../site/scoreboard.json | |
| # Assemble the static site: the page shell + styles + bundle + registry + scoreboard. | |
| - name: Assemble site | |
| run: | | |
| cp collector/page/index.html site/index.html | |
| cp collector/page/styles.css site/styles.css | |
| cp collector/site-build/main.js site/livepage.js | |
| - uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5 | |
| with: { path: site } | |
| - id: deploy | |
| uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5 |