Skip to content

Core correctness recovery: identity, filesystem, registry and validation #372

Core correctness recovery: identity, filesystem, registry and validation

Core correctness recovery: identity, filesystem, registry and validation #372

Workflow file for this run

name: GenesisCode Documentation
on:
workflow_dispatch:
pull_request:
paths:
- "*.md"
- "_quarto.yml"
- "index.qmd"
- "learn/**"
- "guides/**"
- "reference/**"
- "site_assets/**"
- "docs/**"
- "examples/**"
- "policies/**"
- "genesis.*"
- "package.json"
- "package-lock.json"
- "rust-toolchain.toml"
- "llms.txt"
- "scripts/render_quarto_reference.py"
- "scripts/check_quarto_site.py"
- "scripts/check_quarto_browser.mjs"
- "scripts/stamp_quarto_site.py"
- "scripts/check_quarto_deployment.py"
- ".github/workflows/docs-site.yml"
push:
branches: [main]
paths:
- "*.md"
- "_quarto.yml"
- "index.qmd"
- "learn/**"
- "guides/**"
- "reference/**"
- "site_assets/**"
- "docs/**"
- "examples/**"
- "policies/**"
- "genesis.*"
- "package.json"
- "package-lock.json"
- "rust-toolchain.toml"
- "llms.txt"
- "scripts/render_quarto_reference.py"
- "scripts/check_quarto_site.py"
- "scripts/check_quarto_browser.mjs"
- "scripts/stamp_quarto_site.py"
- "scripts/check_quarto_deployment.py"
- ".github/workflows/docs-site.yml"
permissions:
contents: read
concurrency:
group: "pages-${{ github.ref }}"
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Check out repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Set up Quarto
uses: quarto-dev/quarto-actions/setup@8a96df13519ee81fd526f2dfca5962811136661b # v2
with:
version: 1.9.38
- name: Set up Node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22
cache: npm
- name: Install browser validator
run: |
npm ci --ignore-scripts
npx playwright install --with-deps chromium
- name: Verify generated reference freshness
run: python3 scripts/render_quarto_reference.py --check
- name: Render documentation
env:
LANG: C.UTF-8
LC_ALL: C.UTF-8
run: |
rm -rf _site
quarto render
- name: Validate rendered documentation
run: python3 scripts/check_quarto_site.py --expected-commit "$GITHUB_SHA" --require-clean
- name: Validate documentation in real browsers
run: npm run test:docs-browser
- name: Configure GitHub Pages
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0
- name: Upload GitHub Pages artifact
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5
with:
path: _site
deploy:
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
timeout-minutes: 10
needs: build
outputs:
page_url: ${{ steps.deployment.outputs.page_url }}
permissions:
pages: write
id-token: write
steps:
- name: Deploy GitHub Pages
id: deployment
uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5
attest:
name: Attest public documentation
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
timeout-minutes: 10
needs: deploy
steps:
- name: Check out repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Crawl commit-bound Pages deployment
run: >-
python3 scripts/check_quarto_deployment.py
--url "${{ needs.deploy.outputs.page_url }}"
--expected-commit "$GITHUB_SHA"