Fix errors in guide #447
This file contains 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
name: Check & Deploy | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
workflow_dispatch: | |
jobs: | |
changes: | |
runs-on: ubuntu-latest | |
outputs: | |
code: ${{ steps.filter.outputs.code }} | |
deploy: ${{ steps.filter.outputs.deploy }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dorny/paths-filter@v2 | |
id: filter | |
with: | |
filters: | | |
code: | |
- 'src/**' | |
- 'tests/**' | |
- 'Cargo.toml' | |
- '.github/**' | |
deploy: | |
- 'bunny_demo/**' | |
- 'guide/**' | |
- 'square_eater/**' | |
- 'visualizer/**' | |
- '.github/**' | |
- 'Cargo.toml' | |
fmt: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: needs.changes.outputs.code == 'true' | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
components: rustfmt | |
- run: cargo fmt -- --check | |
miri: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: needs.changes.outputs.code == 'true' | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@nightly | |
with: | |
components: miri | |
- run: cargo miri test --tests --lib --no-default-features --features=std | |
clippy: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: needs.changes.outputs.code == 'true' | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
components: clippy | |
- run: cargo clippy | |
env: | |
RUSTFLAGS: -D warnings | |
all-features: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: needs.changes.outputs.code == 'true' | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@stable | |
- run: cargo test --all-features | |
guide_master: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: github.event_name == 'push' && needs.changes.outputs.deploy == 'true' | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@stable | |
- name: download mdbook | |
uses: peaceiris/actions-mdbook@v1 | |
with: | |
mdbook-version: "0.4.34" | |
- run: cargo install mdbook-linkcheck | |
- run: mdbook build -d guide_master | |
working-directory: ./guide/master | |
- name: save guide master | |
uses: actions/upload-artifact@v2 | |
with: | |
name: guide_master | |
path: guide/master/guide_master/html | |
guide_0_5_0: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: github.event_name == 'push' && needs.changes.outputs.deploy == 'true' | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@stable | |
- name: download mdbook | |
uses: peaceiris/actions-mdbook@v1 | |
with: | |
mdbook-version: "0.4.34" | |
- run: cargo install mdbook-linkcheck | |
- run: mdbook build -d guide_0_5_0 | |
working-directory: ./guide/0.5.0 | |
- name: save guide 0.5.0 | |
uses: actions/upload-artifact@v2 | |
with: | |
name: guide_0_5_0 | |
path: guide/0.5.0/guide_0_5_0/html | |
guide_0_6: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: github.event_name == 'push' && needs.changes.outputs.deploy == 'true' | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@stable | |
- name: download mdbook | |
uses: peaceiris/actions-mdbook@v1 | |
with: | |
mdbook-version: "0.4.34" | |
- run: cargo install mdbook-linkcheck | |
- run: mdbook build -d guide_0_6 | |
working-directory: ./guide/0.6 | |
- name: save guide 0.6 | |
uses: actions/upload-artifact@v2 | |
with: | |
name: guide_0_6 | |
path: guide/0.6/guide_0_6/html | |
bunny_demo: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: github.event_name == 'push' && needs.changes.outputs.deploy == 'true' | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
target: wasm32-unknown-unknown | |
- name: install wasm-pack | |
# https://github.com/rustwasm/wasm-pack/issues/823#issuecomment-1242611318 | |
run: cargo install --git https://github.com/frewsxcv/wasm-pack.git --branch patch-2 | |
- run: wasm-pack build bunny_demo --target web --release --out-dir public/wasm | |
- run: rm bunny_demo/public/wasm/.gitignore | |
- name: save bunny_demo | |
uses: actions/upload-artifact@v2 | |
with: | |
name: bunny_demo | |
path: bunny_demo/public | |
square_eater: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: github.event_name == 'push' && needs.changes.outputs.deploy == 'true' | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
target: wasm32-unknown-unknown | |
- run: cargo build --release --package square_eater --target wasm32-unknown-unknown --manifest-path=square_eater/Cargo.toml | |
- run: mv ./target/wasm32-unknown-unknown/release/square_eater.wasm ./square_eater/public | |
- name: save square_eater | |
uses: actions/upload-artifact@v2 | |
with: | |
name: square_eater | |
path: square_eater/public | |
visualizer: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: github.event_name == 'push' && needs.changes.outputs.deploy == 'true' | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
target: wasm32-unknown-unknown | |
- uses: jetli/[email protected] | |
# GH pages doesn't use the same url naming as trunk's default | |
# https://github.com/thedodd/trunk/issues/268 | |
- run: trunk build --public-url "shipyard/visualizer/" --release visualizer/index.html | |
- name: save visualizer | |
uses: actions/upload-artifact@v2 | |
with: | |
name: visualizer | |
path: visualizer/dist | |
deploy: | |
runs-on: ubuntu-latest | |
needs: [changes, guide_master, guide_0_6, guide_0_5_0, bunny_demo, square_eater, visualizer] | |
if: github.event_name == 'push' && needs.changes.outputs.deploy == 'true' | |
steps: | |
- name: load guide master | |
uses: actions/download-artifact@v2 | |
with: | |
name: guide_master | |
path: dist/guide/master | |
- name: load guide 0.5.0 | |
uses: actions/download-artifact@v2 | |
with: | |
name: guide_0_5_0 | |
path: dist/guide/0.5.0 | |
- name: load guide 0.6 | |
uses: actions/download-artifact@v2 | |
with: | |
name: guide_0_6 | |
path: dist/guide/0.6 | |
- name: load bunny_demo | |
uses: actions/download-artifact@v2 | |
with: | |
name: bunny_demo | |
path: dist/bunny_demo | |
- name: load square_eater | |
uses: actions/download-artifact@v2 | |
with: | |
name: square_eater | |
path: dist/square_eater | |
- name: load visualizer | |
uses: actions/download-artifact@v2 | |
with: | |
name: visualizer | |
path: dist/visualizer | |
- name: deploy to gh pages | |
uses: maxheld83/ghpages@master | |
env: | |
BUILD_DIR: "dist/" | |
GH_PAT: ${{ secrets.GH_PAT }} |