name: Publish on: pull_request: paths: - ".github/workflows/publish.yml" push: branches: - trunk env: CARGO_INCREMENTAL: false CARGO_TERM_COLOR: always RUST_BACKTRACE: full # Every time a PR is pushed to, cancel any previous jobs. This # makes us behave nicer to github and get faster turnaround times # on PRs that are pushed to multiple times in rapid succession. concurrency: group: ${{github.workflow}}-${{github.ref}} cancel-in-progress: ${{github.event_name == 'pull_request'}} jobs: publish: runs-on: ubuntu-latest steps: - name: Checkout repo uses: actions/checkout@v6 with: persist-credentials: false - name: Install Rust WASM target run: rustup target add wasm32-unknown-unknown - name: Get `wasm-bindgen` version run: | WASM_BINDGEN_VERSION=$(cargo metadata --format-version 1 --all-features | jq '.packages[] | select(.name == "wasm-bindgen") | .version' | tr -d '"') echo $WASM_BINDGEN_VERSION echo "WASM_BINDGEN_VERSION=$WASM_BINDGEN_VERSION" >> "$GITHUB_ENV" - name: Install `wasm-bindgen` run: cargo +stable install wasm-bindgen-cli --version=$WASM_BINDGEN_VERSION - name: Debug symbols to line-tables-only shell: bash run: | mkdir -p .cargo cat <> .cargo/config.toml [profile.dev] debug = "line-tables-only" EOF - name: Caching uses: Swatinem/rust-cache@v2 with: key: publish-build - name: Build examples run: cargo xtask run-wasm --no-serve - name: Deploy WebGPU examples uses: JamesIves/github-pages-deploy-action@v4.7.4 if: github.ref == 'refs/heads/trunk' with: token: ${{ secrets.WEB_DEPLOY }} folder: target/generated repository-name: gfx-rs/wgpu-rs.github.io branch: master target-folder: examples/