|
9 | 9 | branches: |
10 | 10 | -dev# No need for stable-pull-request, as that equals dev-push |
11 | 11 |
|
| 12 | +concurrency: |
| 13 | +group:${{ github.workflow }}-${{ github.ref }} |
| 14 | +cancel-in-progress:true |
| 15 | + |
12 | 16 | jobs: |
| 17 | +check-compiler-passes-old: |
| 18 | +runs-on:ubuntu-22.04 |
| 19 | +strategy: |
| 20 | +matrix: |
| 21 | +version:[14, 15] |
| 22 | +env: |
| 23 | +AFL_SKIP_CPUFREQ:1 |
| 24 | +AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES:1 |
| 25 | +steps: |
| 26 | + -uses:actions/checkout@v4 |
| 27 | + -name:update |
| 28 | +run:sudo apt-get update && sudo apt-get upgrade -y |
| 29 | + -name:debug |
| 30 | +run:apt-cache search plugin-dev | grep gcc-; echo; apt-cache search clang-format- | grep clang-format- |
| 31 | + -name:install packages |
| 32 | +run:sudo apt-get install -y -m -f build-essential git libtool libtool-bin automake flex bison libglib2.0-0 libc++-dev findutils libcmocka-dev python3-dev python3-setuptools ninja-build python3-pip gcc-12-plugin-dev |
| 33 | + -name:install llvm-tools |
| 34 | +run:sudo apt install -y clang-${{ matrix.version }} llvm-${{ matrix.version }} |
| 35 | + -name:install clang-rt (for llvm 15) |
| 36 | +# because ubuntu-22.04 already has this package |
| 37 | +if:matrix.version != '15' |
| 38 | +run:sudo apt install -y libclang-${{ matrix.version }}-dev |
| 39 | + -name:compiler installed |
| 40 | +run:gcc -v; echo; clang -v |
| 41 | + -name:build afl++ |
| 42 | +run:export NO_NYX=1; export ASAN_BUILD=1; export LLVM_CONFIG=llvm-config-${{ matrix.version }}; make ASAN_BUILD=1 NO_NYX=1 LLVM_CONFIG=llvm-config-${{ matrix.version }} all |
| 43 | + -name:Check llvm passes |
| 44 | +run:make ASAN_BUILD=1 NO_NYX=1 LLVM_CONFIG=llvm-config-${{ matrix.version }} llvm-build-test || exit 1 |
| 45 | + -name:run tests |
| 46 | +run:sudo -E ./afl-system-config; make tests |
| 47 | +check-compiler-passes-new: |
| 48 | +runs-on:ubuntu-24.04 |
| 49 | +strategy: |
| 50 | +matrix: |
| 51 | +version:[16, 17, 18, 19, 20] |
| 52 | +env: |
| 53 | +AFL_SKIP_CPUFREQ:1 |
| 54 | +AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES:1 |
| 55 | +steps: |
| 56 | + -uses:actions/checkout@v4 |
| 57 | + -name:update |
| 58 | +run:sudo apt-get update && sudo apt-get upgrade -y |
| 59 | + -name:debug |
| 60 | +run:apt-cache search plugin-dev | grep gcc-; echo; apt-cache search clang-format- | grep clang-format- |
| 61 | + -name:install packages |
| 62 | +run:sudo apt-get install -y -m -f build-essential git libtool libtool-bin automake flex bison libglib2.0-0 libc++-dev findutils libcmocka-dev python3-dev python3-setuptools ninja-build python3-pip gcc-12-plugin-dev |
| 63 | + -name:install llvm-tools (20) |
| 64 | +if:matrix.version == '20' |
| 65 | +run:| |
| 66 | + wget https://apt.llvm.org/llvm.sh |
| 67 | + chmod +x llvm.sh |
| 68 | + sudo ./llvm.sh ${{ matrix.version }} |
| 69 | + sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${{ matrix.version }} 200 |
| 70 | + -name:install llvm-tools |
| 71 | +if:matrix.version != '20' |
| 72 | +run:sudo apt install -y clang-${{ matrix.version }} llvm-${{ matrix.version }} |
| 73 | + -name:install clang-rt |
| 74 | +if:matrix.version != '20' |
| 75 | +run:sudo apt install -y libclang-${{ matrix.version }}-dev |
| 76 | + -name:compiler installed |
| 77 | +run:gcc -v; echo; clang -v |
| 78 | + -name:build afl++ |
| 79 | +run:export NO_NYX=1; export ASAN_BUILD=1; export LLVM_CONFIG=llvm-config-${{ matrix.version }}; make ASAN_BUILD=1 NO_NYX=1 LLVM_CONFIG=llvm-config-${{ matrix.version }} all |
| 80 | + -name:Check llvm passes |
| 81 | +run:make ASAN_BUILD=1 NO_NYX=1 LLVM_CONFIG=llvm-config-${{ matrix.version }} llvm-build-test || exit 1 |
| 82 | + -name:run tests |
| 83 | +run:sudo -E ./afl-system-config; make tests |
| 84 | + |
13 | 85 | linux: |
14 | 86 | runs-on:"${{ matrix.os }}" |
15 | 87 | strategy: |
|
31 | 103 | -name:install gcc plugin |
32 | 104 | run:sudo apt-get install -y -m -f --install-suggests $(readlink /usr/bin/gcc)-plugin-dev |
33 | 105 | -name:build afl++ |
34 | | -run:export NO_NYX=1; export ASAN_BUILD=1; export LLVM_CONFIG=llvm-config-12; make ASAN_BUILD=1 NO_NYX=1 LLVM_CONFIG=llvm-config-12 distrib |
| 106 | +run:export NO_NYX=1; export ASAN_BUILD=1; export LLVM_CONFIG=llvm-config-15; make ASAN_BUILD=1 NO_NYX=1 LLVM_CONFIG=llvm-config-15 distrib |
35 | 107 | -name:run tests |
36 | 108 | run:sudo -E ./afl-system-config; make tests |
37 | 109 | macos: |
|