@@ -63,12 +63,14 @@ jobs:
63
63
with :
64
64
profile : minimal
65
65
toolchain : stable
66
+ - name : Remove existing clang and LLVM
67
+ run : sudo apt purge llvm* clang*
66
68
- name : Install and cache deps
67
69
68
70
with :
69
- packages : llvm llvm-dev clang ninja-build clang-format-13 shellcheck libgtk-3-dev gcc-arm-linux-gnueabi g++-arm-linux-gnueabi libslirp-dev libz3-dev
71
+ packages : llvm-15 llvm-15- dev clang-15 ninja-build clang-format-13 shellcheck libgtk-3-dev gcc-arm-linux-gnueabi g++-arm-linux-gnueabi libslirp-dev libz3-dev
70
72
- name : get clang version
71
- run : command -v llvm-config && clang -v
73
+ run : command -v llvm-config-15 && clang-15 -v
72
74
- name : Add nightly rustfmt and clippy
73
75
run : rustup toolchain install nightly --component rustfmt --component clippy --component miri --allow-downgrade
74
76
- uses : actions/checkout@v3
@@ -122,12 +124,14 @@ jobs:
122
124
with :
123
125
profile : minimal
124
126
toolchain : stable
127
+ - name : Remove existing clang and LLVM
128
+ run : sudo apt purge llvm* clang*
125
129
- name : Install and cache deps
126
130
127
131
with :
128
- packages : llvm llvm-dev clang ninja-build clang-format-13 shellcheck libgtk-3-dev gcc-arm-linux-gnueabi g++-arm-linux-gnueabi libslirp-dev libz3-dev
132
+ packages : llvm-15 llvm-15- dev clang-15 ninja-build clang-format-13 shellcheck libgtk-3-dev gcc-arm-linux-gnueabi g++-arm-linux-gnueabi libslirp-dev libz3-dev
129
133
- name : get clang version
130
- run : command -v llvm-config && clang -v
134
+ run : command -v llvm-config-15 && clang-15 -v
131
135
- name : Install cargo-hack
132
136
run : curl -LsSf https://github.com/taiki-e/cargo-hack/releases/latest/download/cargo-hack-x86_64-unknown-linux-gnu.tar.gz | tar xzf - -C ~/.cargo/bin
133
137
- name : Add nightly
@@ -166,14 +170,16 @@ jobs:
166
170
with :
167
171
profile : minimal
168
172
toolchain : stable
173
+ - name : Remove existing clang and LLVM
174
+ run : sudo apt purge llvm* clang*
169
175
- name : Install deps
170
- run : sudo apt-get install -y llvm llvm-dev clang ninja-build python3-dev python3-pip python3-venv libz3-dev
176
+ run : sudo apt-get install -y llvm-15 llvm-15- dev clang-15 ninja-build python3-dev python3-pip python3-venv libz3-dev
171
177
- name : Install maturin
172
178
run : python3 -m pip install maturin
173
179
- uses : actions/checkout@v3
174
180
- uses : Swatinem/rust-cache@v2
175
181
- name : Run a maturin build
176
- run : cd ./bindings/pylibafl && python3 -m venv .env && . .env/bin/activate && pip install --upgrade --force-reinstall . && ./test.sh
182
+ run : LLVM_CONFIG_PATH=llvm-config-15 cd ./bindings/pylibafl && python3 -m venv .env && . .env/bin/activate && pip install --upgrade --force-reinstall . && ./test.sh
177
183
- name : Run python test
178
184
run : . ./bindings/pylibafl/.env/bin/activate && cd ./fuzzers/baby_fuzzer && python3 baby_fuzzer.py 2>&1 | grep "Bye"
179
185
@@ -206,12 +212,18 @@ jobs:
206
212
# Removing macOS things already installed in CI against failed linking
207
213
if : runner.os == 'macOS'
208
214
run : rm /usr/local/bin/2to3* /usr/local/bin/idle3* /usr/local/bin/pydoc3* /usr/local/bin/python3*; brew install --force-bottle --overwrite python
215
+ - name : Remove obsolete llvm (macOS)
216
+ if : runner.os == 'macOS'
217
+ run : brew remove --force llvm clang
218
+ - name : Remove obsolete llvm (Linux)
219
+ if : runner.os == 'Linux'
220
+ run : sudo apt purge llvm* clang*
209
221
- uses : lyricwulf/abc@v1
210
222
with :
211
223
# todo: remove afl++-clang when nyx support samcov_pcguard
212
- linux : llvm llvm-dev clang nasm ninja-build gcc-arm-linux-gnueabi g++-arm-linux-gnueabi gcc-aarch64-linux-gnu g++-aarch64-linux-gnu gcc-mipsel-linux-gnu g++-mipsel-linux-gnu gcc-powerpc-linux-gnu g++-powerpc-linux-gnu libc6-dev-i386-cross libc6-dev libc6-dev-i386 lib32gcc-11-dev lib32stdc++-11-dev libgtk-3-dev afl++-clang pax-utils libz3-dev
224
+ linux : llvm-15 llvm-15- dev clang-15 nasm ninja-build gcc-arm-linux-gnueabi g++-arm-linux-gnueabi gcc-aarch64-linux-gnu g++-aarch64-linux-gnu gcc-mipsel-linux-gnu g++-mipsel-linux-gnu gcc-powerpc-linux-gnu g++-powerpc-linux-gnu libc6-dev-i386-cross libc6-dev libc6-dev-i386 lib32gcc-11-dev lib32stdc++-11-dev libgtk-3-dev afl++-clang pax-utils libz3-dev
213
225
# update bash for macos to support `declare -A` command`
214
- macos : llvm libpng nasm coreutils z3 bash wget
226
+ macos : llvm@15 libpng nasm coreutils z3 bash wget
215
227
- name : pip install
216
228
run : python3 -m pip install msgpack jinja2 find_libpython
217
229
# Note that nproc needs to have coreutils installed on macOS, so the order of CI commands matters.
@@ -258,10 +270,16 @@ jobs:
258
270
- name : Fix python (macOS)
259
271
if : runner.os == 'macOS'
260
272
run : rm /usr/local/bin/2to3* /usr/local/bin/idle3* /usr/local/bin/pydoc3* /usr/local/bin/python3*
273
+ - name : Remove obsolete llvm (macOS)
274
+ if : runner.os == 'macOS'
275
+ run : brew remove --force llvm clang
276
+ - name : Remove obsolete llvm (Linux)
277
+ if : runner.os == 'Linux'
278
+ run : sudo apt purge llvm* clang*
261
279
- uses : lyricwulf/abc@v1
262
280
with :
263
- linux : llvm llvm-dev clang
264
- macos :
[email protected] llvm bash coreutils
281
+ linux : llvm-15 llvm-15- dev clang-15
282
+ macos :
[email protected] llvm@15 bash coreutils
265
283
- uses : actions/checkout@v3
266
284
with :
267
285
submodules : true # recursively checkout submodules
0 commit comments