Skip to content

Implement Winliner, the speculative indirect call inliner for WebAssembly #25

Implement Winliner, the speculative indirect call inliner for WebAssembly

Implement Winliner, the speculative indirect call inliner for WebAssembly #25

Workflow file for this run

name: CI
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
CARGO_TERM_COLOR: always
jobs:
test_all_features:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run tests
run: cargo test --verbose --all-features
test_no_features:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run tests
run: cargo test --verbose --no-default-features
doc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build docs
run: cargo rustdoc -p winliner --all-features -- -D rustdoc::broken-intra-doc-links
build_cli:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build CLI
run: cargo build --bin winliner --all-features
# Check that you can compile the library to Wasm, so that you could extract
# profiles on the Web, for example.
compile_to_wasm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install the wasm32-unknown-unknown target
run: rustup target add wasm32-unknown-unknown
- name: Compile to Wasm
run: cargo build --target wasm32-unknown-unknown
fuzz:
strategy:
matrix:
fuzz_target: ["diff", "instrument"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install cargo-fuzz
run: cargo install cargo-fuzz
- name: Run fuzzer for five minutes
run: cargo fuzz run --sanitizer none ${{ matrix.fuzz_target }} -- -max_total_time=300