name: Deploy demo to GitHub Pages
on:
push:
branches: [main]
paths:
- "web/**"
- "src/**"
- "Cargo.toml"
- ".github/workflows/pages.yml"
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: pages
cancel-in-progress: true
jobs:
build-deploy:
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deploy.outputs.page_url }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-unknown-unknown
- uses: jetli/wasm-pack-action@v0.4.0
- name: Build the WASM bundle
run: wasm-pack build --target web --out-dir web/pkg --no-default-features --features wasm,canvas
- uses: actions/configure-pages@v5
- uses: actions/upload-pages-artifact@v3
with:
path: web
- name: Deploy
id: deploy
uses: actions/deploy-pages@v4