Attempt to fix wasm web deployment #181
Workflow file for this run
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
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
name: "Build: slamrs" | |
env: | |
# This is required to enable the web_sys clipboard API which egui_web uses | |
# https://rustwasm.github.io/wasm-bindgen/api/web_sys/struct.Clipboard.html | |
# https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html | |
RUSTFLAGS: --cfg=web_sys_unstable_apis | |
# all the run steps should execute in the subfolder | |
defaults: | |
run: | |
working-directory: ./slamrs | |
jobs: | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
components: clippy | |
- name: Install dependencies | |
run: sudo apt-get update && sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev libgtk-3-dev | |
- name: Rust Cache # cache the rust build artefacts | |
uses: Swatinem/rust-cache@v2 | |
with: | |
workspaces: "./slamrs -> target" | |
- name: Check | |
run: cargo check --all-features | |
- name: Build | |
run: cargo build | |
- name: Test | |
run: cargo test --lib | |
- name: Lint | |
run: cargo clippy -- -D warnings | |
build_wasm: | |
name: Build wasm32 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
components: clippy | |
targets: wasm32-unknown-unknown | |
- name: Rust Cache # cache the rust build artefacts | |
uses: Swatinem/rust-cache@v2 | |
with: | |
workspaces: "./slamrs -> target" | |
- name: Check | |
run: cargo check --all-features --lib --target wasm32-unknown-unknown | |
- name: Download and install Trunk binary | |
run: wget -qO- https://github.com/thedodd/trunk/releases/latest/download/trunk-x86_64-unknown-linux-gnu.tar.gz | tar -xzf- | |
- name: Build | |
run: ./trunk build baseui/index.html | |
- name: Lint | |
run: cargo clippy --target wasm32-unknown-unknown -- -D warnings | |
fmt: | |
name: Rustfmt | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
components: rustfmt | |
- run: cargo fmt --all -- --check |