Skip to content

feat: two new smoke-gated examples — wave-displace and driver-wave (#44) #11

feat: two new smoke-gated examples — wave-displace and driver-wave (#44)

feat: two new smoke-gated examples — wave-displace and driver-wave (#44) #11

Workflow file for this run

name: Deploy GitHub Pages
# Builds the landing page (docs/index.html, via the locally vendored template at
# scripts/site/ — originally scaffolded from Developer-Tools-Directory's site-template,
# now owned and evolved by this repo) AND the local examples gallery
# (docs/gallery/index.html, generated from examples/gallery.json by scripts/build_gallery.py).
# Both ship in the single docs/ artifact; the landing build only writes docs/index.html +
# docs/fonts/ + docs/assets/, so it never clobbers docs/gallery/.
on:
push:
branches: [main]
paths:
- "skills/**"
- "rules/**"
- "mcp-tools.json"
- "site.json"
- ".cursor-plugin/plugin.json"
- "assets/**"
- "examples/**"
- "docs/gallery/**"
- "scripts/build_gallery.py"
- "scripts/site/**"
- "CHANGELOG.md"
workflow_dispatch:
permissions:
pages: write
id-token: write
concurrency:
group: pages
cancel-in-progress: true
jobs:
build-and-deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-python@v6
with:
python-version: "3.12"
- run: pip install Jinja2
- name: Build landing page (vendored template)
run: python scripts/site/build_site.py --repo-root . --out docs
- name: Build local examples gallery (from examples/gallery.json)
# Stdlib-only; regenerates docs/gallery/index.html so the committed page can never
# drift from gallery.json. The committed docs/gallery/assets/*.webp are untouched.
run: python scripts/build_gallery.py
- uses: actions/configure-pages@v6
- uses: actions/upload-pages-artifact@v5
with:
path: docs
- uses: actions/deploy-pages@v5
id: deployment