| name: CI |
| |
| on: |
| push: |
| branches: |
| - stable |
| - dev |
| pull_request: |
| branches: |
| - dev # No need for stable-pull-request, as that equals dev-push |
| |
| jobs: |
| linux: |
| runs-on: "${{ matrix.os }}" |
| strategy: |
| matrix: |
| os: [ubuntu-22.04, ubuntu-20.04] |
| env: |
| AFL_SKIP_CPUFREQ: 1 |
| AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES: 1 |
| steps: |
| - uses: actions/checkout@v3 |
| - name: debug |
| run: apt-cache search plugin-dev | grep gcc-; echo; apt-cache search clang-format- | grep clang-format- |
| - name: update |
| run: sudo apt-get update |
| # && sudo apt-get upgrade -y |
| - name: install packages |
| #run: sudo apt-get install -y -m -f --install-suggests build-essential git libtool libtool-bin automake bison libglib2.0-0 clang llvm-dev libc++-dev findutils libcmocka-dev python3-dev python3-setuptools ninja-build python3-pip |
| run: sudo apt-get install -y -m -f build-essential git libtool libtool-bin automake flex bison libglib2.0-0 clang llvm-dev libc++-dev findutils libcmocka-dev python3-dev python3-setuptools ninja-build python3-pip |
| - name: compiler installed |
| run: gcc -v; echo; clang -v |
| - name: install gcc plugin |
| run: sudo apt-get install -y -m -f --install-suggests $(readlink /usr/bin/gcc)-plugin-dev |
| - name: build afl++ |
| run: make distrib ASAN_BUILD=1 NO_NYX=1 |
| - name: run tests |
| run: sudo -E ./afl-system-config; make tests |
| macos: |
| runs-on: macOS-latest |
| env: |
| AFL_MAP_SIZE: 65536 |
| AFL_SKIP_CPUFREQ: 1 |
| AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES: 1 |
| steps: |
| - uses: actions/checkout@v3 |
| - name: install |
| run: brew install make gcc llvm |
| - name: fix install |
| run: cd /usr/local/bin; ln -s gcc-11 gcc; ln -s g++-11 g++; which gcc; gcc -v |
| - name: build |
| run: export PATH=/usr/local/Cellar/llvm/*/":$PATH"; export CC=/usr/local/Cellar/llvm/*/bin/clang; export CXX="$CC"++; export LLVM_CONFIG=/usr/local/Cellar/llvm/*/bin/llvm-config; sudo -E ./afl-system-config; gmake ASAN_BUILD=1 |
| - name: frida |
| run: export CC=/usr/local/Cellar/llvm/*/bin/clang; export CXX="$CC"++; cd frida_mode; gmake |
| - name: run tests |
| run: sudo -E ./afl-system-config; export CC=/usr/local/Cellar/llvm/*/bin/clang; export CXX="$CC"++; export PATH=/usr/local/Cellar/llvm/*/":/usr/local/bin:$PATH"; export LLVM_CONFIG=/usr/local/Cellar/llvm/*/bin/llvm-config; gmake tests |
| - name: force frida test for MacOS |
| run: export AFL_PATH=`pwd`; /usr/local/bin/gcc -o test-instr test-instr.c; mkdir in; echo > in/in; AFL_NO_UI=1 ./afl-fuzz -O -i in -o out -V 5 -- ./test-instr |