CI #15
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: | |
- master | |
- '*.*' | |
pull_request: | |
branches: | |
- '*' | |
schedule: | |
- cron: '0 0 1 * *' | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
check: | |
name: Check | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
rust: [stable, nightly] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout the Repository | |
uses: actions/checkout@v4 | |
- name: Install the Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{ matrix.rust }} | |
profile: minimal | |
override: true | |
- name: Install power tools | |
uses: taiki-e/install-action@cargo-hack | |
- name: Check the powerset | |
run: | | |
cargo hack check --all \ | |
--exclude wasmtime_runtime_layer \ | |
--feature-powerset --keep-going | |
# manual feature powerset since one of the runtime features is required | |
- name: Check the powerset for the wasmtime_runtime_layer | |
run: | | |
cargo check -p wasmtime_runtime_layer | |
cargo check -p wasmtime_runtime_layer \ | |
--no-default-features --features cranelift | |
cargo check -p wasmtime_runtime_layer \ | |
--no-default-features --features winch | |
test: | |
name: Test Suite | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
# This should be [stable, nightly] but we override stable since there is a bug with 1.82.0 | |
# https://github.com/rustwasm/wasm-bindgen/issues/4274#issuecomment-2493497388 | |
rust: [1.81.0] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout the Repository | |
uses: actions/checkout@v4 | |
- name: Install the Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{ matrix.rust }} | |
profile: minimal | |
override: true | |
- name: Install power tools | |
uses: taiki-e/install-action@cargo-hack | |
- name: Run the test-suite powerset | |
run: | | |
cargo hack test --workspace \ | |
--exclude wasmtime_runtime_layer \ | |
--no-fail-fast --feature-powerset --keep-going \ | |
--release | |
# manual feature powerset since one of the runtime features is required | |
- name: Check the powerset for the wasmtime_runtime_layer | |
run: | | |
cargo test -p wasmtime_runtime_layer --release | |
cargo test -p wasmtime_runtime_layer --release \ | |
--no-default-features --features cranelift | |
cargo test -p wasmtime_runtime_layer --release \ | |
--no-default-features --features winch | |
- name: Install wasm-pack | |
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh | |
- name: Run the tests with wasm-pack | |
run: | | |
wasm-pack test --node \ | |
--workspace --exclude wasmtime_runtime_layer \ | |
--release | |
fmt: | |
name: Rustfmt | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the Repository | |
uses: actions/checkout@v4 | |
- name: Install the Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
profile: minimal | |
components: rustfmt | |
override: true | |
- name: Check the code formatting | |
run: cargo fmt --all -- --check | |
clippy: | |
name: Clippy | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
rust: [stable] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout the Repository | |
uses: actions/checkout@v4 | |
- name: Install the Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{ matrix.rust }} | |
profile: minimal | |
components: clippy | |
override: true | |
- name: Install power tools | |
uses: taiki-e/install-action@cargo-hack | |
- name: Check the code style powerset | |
run: | | |
cargo hack clippy --all \ | |
--exclude wasmtime_runtime_layer \ | |
--feature-powerset --keep-going \ | |
-- -D warnings | |
# manual feature powerset since one of the runtime features is required | |
- name: Check the powerset for the wasmtime_runtime_layer | |
run: | | |
cargo clippy -p wasmtime_runtime_layer \ | |
-- -D warnings | |
cargo clippy -p wasmtime_runtime_layer \ | |
--no-default-features --features cranelift \ | |
-- -D warnings | |
cargo clippy -p wasmtime_runtime_layer \ | |
--no-default-features --features winch \ | |
-- -D warnings |