Fix wasm-bindgen version mismatch in deploy workflow #3
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
| # Deploy Dendrite HCDF Viewer to GitHub Pages | |
| # Builds dendrite-viewer for wasm32 (WebGPU + WebGL2) and deploys to dendrite.cognipilot.org | |
| name: Deploy Viewer to GitHub Pages | |
| on: | |
| push: | |
| branches: [main] | |
| paths: | |
| - 'crates/dendrite-viewer/**' | |
| - 'crates/dendrite-scene/**' | |
| - 'crates/dendrite-core/**' | |
| - 'viewer-web/**' | |
| - '.github/workflows/deploy-viewer.yml' | |
| workflow_dispatch: | |
| # Allow only one concurrent deployment | |
| concurrency: | |
| group: "viewer-pages" | |
| cancel-in-progress: true | |
| # Sets permissions of the GITHUB_TOKEN | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: wasm32-unknown-unknown | |
| - name: Cache cargo registry and build | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| ~/.cargo/bin/wasm-bindgen | |
| ~/.cargo/bin/wasm-bindgen-test-runner | |
| ~/.cargo/.crates.toml | |
| ~/.cargo/.crates2.json | |
| target | |
| key: ${{ runner.os }}-cargo-viewer-${{ hashFiles('**/Cargo.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-cargo-viewer- | |
| - name: Install wasm-bindgen-cli | |
| run: | | |
| # Install exact version matching Cargo.lock to avoid schema mismatch | |
| cargo install wasm-bindgen-cli --version 0.2.106 | |
| - name: Build WASM (WebGPU) | |
| run: | | |
| cargo build --target wasm32-unknown-unknown -p dendrite-viewer --release --no-default-features --features webgpu | |
| mkdir -p viewer-web/pkg | |
| wasm-bindgen --out-name dendrite_viewer_webgpu --out-dir viewer-web/pkg --target web --no-typescript target/wasm32-unknown-unknown/release/dendrite_viewer.wasm | |
| - name: Build WASM (WebGL2) | |
| run: | | |
| cargo build --target wasm32-unknown-unknown -p dendrite-viewer --release --no-default-features --features webgl2 | |
| wasm-bindgen --out-name dendrite_viewer_webgl2 --out-dir viewer-web/pkg --target web --no-typescript target/wasm32-unknown-unknown/release/dendrite_viewer.wasm | |
| - name: Create CNAME for custom domain | |
| run: echo "dendrite.cognipilot.org" > viewer-web/CNAME | |
| - name: Setup Pages | |
| uses: actions/configure-pages@v4 | |
| - name: Upload artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: 'viewer-web' | |
| deploy: | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| runs-on: ubuntu-latest | |
| needs: build | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |