36 lines
1.0 KiB
YAML

name: Set up AFL++ toolchain
description: >
Build and install AFL++ from source, then install the Rust stable toolchain
and cargo-afl. The repository must already be checked out before this runs.
inputs:
afl-version:
description: AFL++ git tag to build from source.
required: false
default: v4.40c
runs:
using: composite
steps:
- name: Install AFL++ ${{ inputs.afl-version }} from source
shell: bash
run: |
sudo apt-get update -q
sudo apt-get install -y \
build-essential python3-dev automake cmake \
flex bison libglib2.0-dev libpixman-1-dev \
python3-setuptools ninja-build
git clone --depth 1 --branch ${{ inputs.afl-version }} \
https://github.com/AFLplusplus/AFLplusplus /tmp/aflplusplus
cd /tmp/aflplusplus
make distrib
sudo make install
afl-fuzz --version
- name: Install Rust (stable)
uses: dtolnay/rust-toolchain@stable
- name: Install cargo-afl
shell: bash
run: cargo install cargo-afl --locked