feat: support run, test and bench cargo commands #421
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
name: CI | |
on: | |
push: | |
branches: [main, 'release-*'] | |
tags: ['[0-9]*'] | |
pull_request: | |
branches: [main, 'release-*'] | |
jobs: | |
test: | |
name: Run tests | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Configure sccache | |
run: | | |
echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV | |
echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV | |
- name: Run sccache-cache | |
uses: mozilla-actions/[email protected] | |
- name: Install Rust | |
run: | | |
rustup set profile minimal | |
rustup update stable --no-self-update | |
rustup update nightly --no-self-update | |
rustup default stable | |
rustup target add wasm32-wasi | |
rustup target add wasm32-wasi --toolchain nightly | |
rustup target add wasm32-unknown-unknown | |
shell: bash | |
- name: Install Wasmtime | |
run: cargo install wasmtime-cli --locked --features="component-model" --git https://github.com/bytecodealliance/wasmtime --rev 848764a9412a1bd66de4087f5ba0670d61384af1 | |
- name: Run all tests | |
run: cargo test --all | |
example: | |
name: Build example component | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Rust | |
run: rustup update stable --no-self-update && rustup default stable && rustup target add wasm32-wasi && rustup target add wasm32-unknown-unknown | |
- name: Install cargo-component (debug) | |
run: cargo install --locked --debug --path . | |
- name: Build the example component | |
run: (cd example && cargo component build --release -v) | |
install: | |
name: Install cargo-component | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Rust | |
run: rustup update stable --no-self-update && rustup default stable | |
- name: Install cargo-component | |
run: cargo install --locked --path . | |
rustfmt: | |
name: Format source code | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Rust | |
run: rustup update stable && rustup default stable && rustup component add rustfmt | |
- name: Run `cargo fmt` | |
run: cargo fmt -- --check |