Add wasmi fuzzing and comment some outdated targets for fuzzing wasm #91
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: [ master ] | |
jobs: | |
# Check code style quickly by running `rustfmt` over all code | |
rustfmt: | |
name: Check Rust fmt | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install latest nightly | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
override: true | |
components: rustfmt | |
- name: Run cargo fmt | |
run: cd warf && make check-fmt | |
# Build only warf tool | |
build: | |
name: Building warf cli | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install latest nightly | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
override: true | |
- name: Build | |
run: cd warf && make build | |
# Try to compile the dockerfile | |
build-docker: | |
name: Building docker | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install latest nightly | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
override: true | |
- name: Build Docker | |
run: cd warf && make docker | |
# Test libfuzzer | |
test-libfuzzer: | |
name: test libfuzzer | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install latest nightly | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
override: true | |
- name: Install cargo-fuzz | |
run: cargo +nightly install --force cargo-fuzz | |
- name: Test libfuzzer | |
run: cd warf && make test-libfuzzer | |
# Test honggfuzz | |
test-honggfuzz: | |
name: test honggfuzz | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install latest nightly | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
override: true | |
- name: Install honggfuzz dependencies | |
run: | | |
sudo apt-get update | |
sudo apt install -y build-essential binutils-dev libunwind-dev libblocksruntime-dev | |
- name: Install honggfuzz | |
run: cargo +nightly install --force honggfuzz | |
- name: Test honggfuzz | |
run: cd warf && make test-honggfuzz | |
# Test afl | |
test-afl: | |
name: test afl | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install latest nightly | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
override: true | |
- name: Install afl dependencies | |
run: | | |
sudo apt-get update | |
sudo apt install -y llvm build-essential libtool-bin python3 cmake automake bison libglib2.0-dev libpixman-1-dev clang python-setuptools | |
- name: Install afl | |
run: cargo +nightly install --force afl | |
- name: Test afl | |
run: cd warf && make test-afl | |
# Test exec_all | |
test-exec-all: | |
name: test exec_all | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install latest nightly | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
override: true | |
- name: Test exec_all | |
run: cd warf && make test | |
# Test benchmark | |
test-benchmark: | |
name: test benchmark | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install latest nightly | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
override: true | |
- name: Test benchmark | |
run: cd warf && make test-bench |