Add release build to web build job #60
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: Rust | |
on: | |
push: | |
branches: ["main"] | |
pull_request: | |
branches: ["main"] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: sudo apt-get install g++ pkg-config libx11-dev libasound2-dev libudev-dev libxkbcommon-x11-0 | |
- uses: Swatinem/rust-cache@v2 | |
- name: Build | |
run: cargo build --all --verbose --features bevy/x11 | |
- name: Run tests | |
run: cargo test --all --verbose --features bevy/x11 | |
format: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: sudo apt-get install g++ pkg-config libx11-dev libasound2-dev libudev-dev libxkbcommon-x11-0 | |
- uses: Swatinem/rust-cache@v2 | |
- name: Check formatting | |
run: cargo fmt --all --check | |
- name: Check code quality | |
run: cargo clippy --all --features bevy/x11 -- -Dwarnings | |
web: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
path: ./repo | |
fetch-depth: 0 | |
- name: Install dependencies | |
run: | | |
sudo apt-get install g++ pkg-config libx11-dev libasound2-dev libudev-dev libxkbcommon-x11-0 | |
cargo install wasm-bindgen-cli | |
- uses: Swatinem/rust-cache@v2 | |
- name: Build debug | |
working-directory: ./repo | |
run: cargo build --target wasm32-unknown-unknown --all --verbose -Zbuild-std=std,panic_abort | |
- name: Build release | |
working-directory: ./repo | |
run: cargo build --profile release-small --target wasm32-unknown-unknown --all --verbose -Zbuild-std=std,panic_abort | |
- name: Generate files for debug | |
run: | | |
mkdir -p ./out/debug | |
wasm-bindgen --no-typescript --target web --out-dir ./out/debug/ --out-name "pixlib" ./target/wasm32-unknown-unknown/debug/pixlib.wasm | |
- name: Generate files for release | |
run: | | |
mkdir -p ./out/release | |
wasm-bindgen --no-typescript --target web --out-dir ./out/release/ --out-name "pixlib" ./target/wasm32-unknown-unknown/release/pixlib.wasm | |
- name: Summarize size of out dir | |
run: du -h ./out | |
- name: Update gh-pages and push changes | |
working-directory: ./app | |
run: | | |
git config user.email "github-actions@github.com" | |
git config user.name "github-actions" | |
git checkout gh-pages | |
cp -R ../out/* . | |
git commit -am "Update files" && git push || echo "No changes to commit" |