wasm-pack 0.15.1

📦✨ your favorite rust -> wasm workflow tool!
Documentation
name: Build and deploy documentation book

on:
  push:
  pull_request:    

# Building runs code from the branch being built, so it gets a read-only
# token. Only the deploy job, for pushes to master, can write.
permissions:
  contents: read

jobs:
  book:
    name: Build book
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: dtolnay/rust-toolchain@stable
        with:
          toolchain: stable

      - name: Cache dependencies
        uses: actions/cache@v3
        env:
          cache-name: cache-mdbook
        with:
          path: |
            ~/.cargo/.crates.toml
            ~/.cargo/.crates2.json
            ~/.cargo/bin
            ~/.cargo/registry/index
            ~/.cargo/registry/cache
          key: ${{ runner.os }}-build-${{ env.cache-name }}-0.3 }}

      - name: Install mdbook
        run: |
          (test -x $HOME/.cargo/bin/cargo-install-update || cargo install cargo-update)
          (test -x $HOME/.cargo/bin/mdbook || cargo install --vers "^0.4" mdbook)
          cargo install-update -a

      - name: Build book
        run: |
          mdbook --version
          (cd docs && mv _theme theme && mdbook build)
          rustc ./docs/_installer/build-installer.rs
          ./build-installer

      - uses: actions/upload-artifact@v4
        if: github.event_name == 'push' && github.ref == 'refs/heads/master'
        with:
          name: book
          path: docs
          retention-days: 1

  deploy:
    name: Deploy book
    needs: book
    if: github.event_name == 'push' && github.ref == 'refs/heads/master'
    permissions:
      contents: write
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/download-artifact@v4
        with:
          name: book
          path: docs

      - name: Deploy book
        uses: JamesIves/github-pages-deploy-action@v4.4.1
        with:
          branch: gh-pages
          folder: docs
          token: ${{ secrets.GITHUB_TOKEN }}
          single-commit: true