Skip to content

Merge with upstream #94

Merge with upstream

Merge with upstream #94

Workflow file for this run

name: WasmFX CI
on:
push:
branches: [main]
pull_request:
branches: [main]
# Cancel any in-flight jobs for the same PR/branch so there's only one active
# at a time
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
name: Test
strategy:
matrix:
os:
- ubuntu-latest
- macos-latest
rust:
- stable
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install Rust (rustup)
run: rustup update ${{ matrix.rust }} --no-self-update && rustup default ${{ matrix.rust }}
shell: bash
- run: cargo test --locked --all
- run: cargo test --locked -p wasmparser --benches
- run: cargo build --manifest-path crates/wast/Cargo.toml --no-default-features
- run: cargo build --manifest-path crates/wast/Cargo.toml --no-default-features --features wasm-module
- run: cmake -S ${{github.workspace}}/examples -B ${{github.workspace}}/examples/build -DCMAKE_BUILD_TYPE=Release
- run: cmake --build ${{github.workspace}}/examples/build --config Release
- run: cargo build --release
rustfmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Rust
run: rustup update stable && rustup default stable && rustup component add rustfmt
# Note that this doesn't use `cargo fmt` because that doesn't format
# modules-defined-in-macros which is in use in `wast` for example. This is
# the best alternative I can come up with at this time
- run: find . -name '*.rs' | xargs rustfmt --check --edition 2021
fuzz:
name: Fuzz
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install Rust
run: rustup update nightly && rustup default nightly
- run: cargo install cargo-fuzz
- run: cargo fuzz build --dev -s none
- run: cargo fuzz build --dev --features wasmtime -s none
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: cargo check --benches -p wasm-smith
- run: cargo check --no-default-features
- run: cargo check --no-default-features --features print
- run: cargo check --no-default-features --features parse
- run: cargo check --no-default-features --features validate
- run: cargo check --no-default-features --features smith
- run: cargo check --no-default-features --features shrink
- run: cargo check --no-default-features --features mutate
- run: cargo check --no-default-features --features dump
- run: cargo check --no-default-features --features objdump
- run: cargo check --no-default-features --features strip
- run: cargo check --no-default-features --features compose
- run: cargo check --no-default-features --features demangle
- run: cargo check --no-default-features --features component
- run: cargo check --no-default-features --features metadata
- run: cargo check --no-default-features --features wit-smith
- run: cargo check --no-default-features --features addr2line
doc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: cargo doc --all