Skip to content

Merge pull request #218 from lid-labs/docs/claude-md-packages #124

Merge pull request #218 from lid-labs/docs/claude-md-packages

Merge pull request #218 from lid-labs/docs/claude-md-packages #124

Workflow file for this run

name: Deploy Demo 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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Emscripten
uses: mymindstorm/setup-emsdk@4528d102f7230f0e7b276855c01ea1159be0e984 # v16
with:
version: 3.1.51
- name: Setup pnpm
uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
with:
version: 9
- name: Setup Node.js
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: 20
cache: pnpm
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build WASM
run: |
emcmake cmake -B build-wasm -DBUILD_WASM=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF
cmake --build build-wasm --parallel
- name: Build JS packages
run: pnpm build:js
- name: Build demo bundles
run: pnpm build:demo
- name: Prepare Pages artifact
run: |
mkdir -p _site/demo
# Landing page + assets at root
cp -r site/* _site/
# Demo pages under /demo/
cp -r demo/* _site/demo/
# Fix relative paths: site/ and demo/ are siblings locally,
# but flattened on GH Pages (demo/ under root)
sed -i 's|\.\./demo/|./demo/|g' _site/index.html
# docs/ pages are one level deeper: ../../demo/ becomes ../demo/
find _site/docs -name '*.html' -exec sed -i 's|\.\./\.\./demo/|\.\./demo/|g' {} +
# demo/ pages reference site/ as a sibling locally, but site/ is the
# root on GH Pages: ../site/ -> ../ (so ../site/docs/x -> ../docs/x)
find _site/demo -name '*.html' -exec sed -i 's|\.\./site/|\.\./|g' {} +
- name: Upload Pages artifact
uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0
with:
path: _site
deploy:
needs: build
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5.0.0