winliner 1.0.1

The WebAssembly Indirect Call Inliner
Documentation
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