Speedup & cleanup Ci (#3263)
* Fix caching * Simplify names of fuzzers * Fix missing equals sign * Rename utils job
This commit is contained in:
parent
4abd6a4a6a
commit
213651a95c
195
.github/workflows/build_and_test.yml
vendored
195
.github/workflows/build_and_test.yml
vendored
@ -208,7 +208,7 @@ jobs:
|
|||||||
- name: Run a maturin build
|
- name: Run a maturin build
|
||||||
run: export LLVM_CONFIG=llvm-config-${{env.MAIN_LLVM_VERSION}} && cd ./bindings/pylibafl && python3 -m venv .env && . .env/bin/activate && pip install --upgrade --force-reinstall . && ./test.sh
|
run: export LLVM_CONFIG=llvm-config-${{env.MAIN_LLVM_VERSION}} && cd ./bindings/pylibafl && python3 -m venv .env && . .env/bin/activate && pip install --upgrade --force-reinstall . && ./test.sh
|
||||||
- name: Run python test
|
- name: Run python test
|
||||||
run: . ./bindings/pylibafl/.env/bin/activate # && cd ./fuzzers/binary_only/python_qemu/ && python3 fuzzer.py 2>&1 | grep "Bye"
|
run: . ./bindings/pylibafl/.env/bin/activate # && cd fuzzers/binary_only/python_qemu/ && python3 fuzzer.py 2>&1 | grep "Bye"
|
||||||
|
|
||||||
cargo-fmt:
|
cargo-fmt:
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
@ -262,81 +262,81 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
fuzzer:
|
fuzzer:
|
||||||
# Baby
|
# Baby
|
||||||
- ./fuzzers/baby/baby_fuzzer_swap_differential
|
- baby/baby_fuzzer_swap_differential
|
||||||
- ./fuzzers/baby/tutorial
|
- baby/tutorial
|
||||||
- ./fuzzers/baby/baby_fuzzer
|
- baby/baby_fuzzer
|
||||||
# - ./fuzzers/baby/backtrace_baby_fuzzers
|
# - baby/backtrace_baby_fuzzers
|
||||||
- ./fuzzers/baby/baby_fuzzer_unicode
|
- baby/baby_fuzzer_unicode
|
||||||
- ./fuzzers/baby/baby_fuzzer_minimizing
|
- baby/baby_fuzzer_minimizing
|
||||||
- ./fuzzers/baby/backtrace_baby_fuzzers/c_code_with_fork_executor
|
- baby/backtrace_baby_fuzzers/c_code_with_fork_executor
|
||||||
- ./fuzzers/baby/backtrace_baby_fuzzers/c_code_with_inprocess_executor
|
- baby/backtrace_baby_fuzzers/c_code_with_inprocess_executor
|
||||||
- ./fuzzers/baby/backtrace_baby_fuzzers/rust_code_with_fork_executor
|
- baby/backtrace_baby_fuzzers/rust_code_with_fork_executor
|
||||||
- ./fuzzers/baby/backtrace_baby_fuzzers/rust_code_with_inprocess_executor
|
- baby/backtrace_baby_fuzzers/rust_code_with_inprocess_executor
|
||||||
- ./fuzzers/baby/backtrace_baby_fuzzers/command_executor
|
- baby/backtrace_baby_fuzzers/command_executor
|
||||||
- ./fuzzers/baby/backtrace_baby_fuzzers/forkserver_executor
|
- baby/backtrace_baby_fuzzers/forkserver_executor
|
||||||
- ./fuzzers/baby/baby_fuzzer_custom_executor
|
- baby/baby_fuzzer_custom_executor
|
||||||
|
|
||||||
# Binary-only
|
# Binary-only
|
||||||
- ./fuzzers/binary_only/fuzzbench_fork_qemu
|
- binary_only/fuzzbench_fork_qemu
|
||||||
- ./fuzzers/binary_only/frida_executable_libpng
|
- binary_only/frida_executable_libpng
|
||||||
# - ./fuzzers/binary_only/frida_windows_gdiplus
|
# - binary_only/frida_windows_gdiplus
|
||||||
- ./fuzzers/binary_only/frida_libpng
|
- binary_only/frida_libpng
|
||||||
- ./fuzzers/binary_only/fuzzbench_qemu
|
- binary_only/fuzzbench_qemu
|
||||||
- ./fuzzers/binary_only/intel_pt_baby_fuzzer
|
- binary_only/intel_pt_baby_fuzzer
|
||||||
- ./fuzzers/binary_only/intel_pt_command_executor
|
- binary_only/intel_pt_command_executor
|
||||||
# - ./fuzzers/binary_only/tinyinst_simple
|
# - binary_only/tinyinst_simple
|
||||||
|
|
||||||
# Forkserver
|
# Forkserver
|
||||||
- ./fuzzers/forkserver/forkserver_simple
|
- forkserver/forkserver_simple
|
||||||
- ./fuzzers/forkserver/forkserver_capture_stdout
|
- forkserver/forkserver_capture_stdout
|
||||||
- ./fuzzers/forkserver/forkserver_libafl_cc
|
- forkserver/forkserver_libafl_cc
|
||||||
- ./fuzzers/forkserver/fuzzbench_forkserver
|
- forkserver/fuzzbench_forkserver
|
||||||
- ./fuzzers/forkserver/fuzzbench_forkserver_cmplog
|
- forkserver/fuzzbench_forkserver_cmplog
|
||||||
- ./fuzzers/forkserver/fuzzbench_forkserver_sand
|
- forkserver/fuzzbench_forkserver_sand
|
||||||
- ./fuzzers/forkserver/libafl-fuzz
|
- forkserver/libafl-fuzz
|
||||||
- ./fuzzers/forkserver/baby_fuzzer_with_forkexecutor
|
- forkserver/baby_fuzzer_with_forkexecutor
|
||||||
|
|
||||||
# Full-system
|
# Full-system
|
||||||
- ./fuzzers/full_system/nyx_launcher
|
- full_system/nyx_launcher
|
||||||
- ./fuzzers/full_system/nyx_libxml2_standalone
|
- full_system/nyx_libxml2_standalone
|
||||||
- ./fuzzers/full_system/nyx_libxml2_parallel
|
- full_system/nyx_libxml2_parallel
|
||||||
|
|
||||||
# Structure-aware
|
# Structure-aware
|
||||||
- ./fuzzers/structure_aware/nautilus_sync
|
- structure_aware/nautilus_sync
|
||||||
- ./fuzzers/structure_aware/baby_fuzzer_grimoire
|
- structure_aware/baby_fuzzer_grimoire
|
||||||
- ./fuzzers/structure_aware/baby_fuzzer_gramatron
|
- structure_aware/baby_fuzzer_gramatron
|
||||||
- ./fuzzers/structure_aware/baby_fuzzer_tokens
|
- structure_aware/baby_fuzzer_tokens
|
||||||
- ./fuzzers/structure_aware/baby_fuzzer_multi
|
- structure_aware/baby_fuzzer_multi
|
||||||
- ./fuzzers/structure_aware/baby_fuzzer_custom_input
|
- structure_aware/baby_fuzzer_custom_input
|
||||||
- ./fuzzers/structure_aware/baby_fuzzer_nautilus
|
- structure_aware/baby_fuzzer_nautilus
|
||||||
- ./fuzzers/structure_aware/forkserver_simple_nautilus
|
- structure_aware/forkserver_simple_nautilus
|
||||||
|
|
||||||
# In-process
|
# In-process
|
||||||
- ./fuzzers/fuzz_anything/cargo_fuzz
|
- fuzz_anything/cargo_fuzz
|
||||||
- ./fuzzers/inprocess/fuzzbench
|
- inprocess/fuzzbench
|
||||||
- ./fuzzers/inprocess/fuzzbench_text
|
- inprocess/fuzzbench_text
|
||||||
- ./fuzzers/inprocess/fuzzbench_ctx
|
- inprocess/fuzzbench_ctx
|
||||||
- ./fuzzers/inprocess/libfuzzer_libmozjpeg
|
- inprocess/libfuzzer_libmozjpeg
|
||||||
- ./fuzzers/inprocess/libfuzzer_libpng
|
- inprocess/libfuzzer_libpng
|
||||||
- ./fuzzers/inprocess/libfuzzer_libpng_launcher
|
- inprocess/libfuzzer_libpng_launcher
|
||||||
- ./fuzzers/inprocess/libfuzzer_libpng_accounting
|
- inprocess/libfuzzer_libpng_accounting
|
||||||
- ./fuzzers/inprocess/libfuzzer_libpng_centralized
|
- inprocess/libfuzzer_libpng_centralized
|
||||||
- ./fuzzers/inprocess/libfuzzer_libpng_cmin
|
- inprocess/libfuzzer_libpng_cmin
|
||||||
- ./fuzzers/inprocess/libfuzzer_libpng_norestart
|
- inprocess/libfuzzer_libpng_norestart
|
||||||
# - ./fuzzers/inprocess/libfuzzer_libpng_tcp_manager
|
# - inprocess/libfuzzer_libpng_tcp_manager
|
||||||
# - ./fuzzers/inprocess/libfuzzer_windows_asan
|
# - inprocess/libfuzzer_windows_asan
|
||||||
- ./fuzzers/inprocess/libfuzzer_stb_image_sugar
|
- inprocess/libfuzzer_stb_image_sugar
|
||||||
- ./fuzzers/inprocess/libfuzzer_stb_image
|
- inprocess/libfuzzer_stb_image
|
||||||
# - ./fuzzers/structure_aware/libfuzzer_stb_image_concolic
|
# - structure_aware/libfuzzer_stb_image_concolic
|
||||||
# - ./fuzzers/inprocess/sqlite_centralized_multi_machine
|
# - inprocess/sqlite_centralized_multi_machine
|
||||||
# - ./fuzzers/inprocess/libafl_libfuzzer_windows
|
# - inprocess/libafl_libfuzzer_windows
|
||||||
|
|
||||||
# Fuzz Anything
|
# Fuzz Anything
|
||||||
- ./fuzzers/fuzz_anything/push_harness
|
- fuzz_anything/push_harness
|
||||||
- ./fuzzers/fuzz_anything/push_stage_harness
|
- fuzz_anything/push_stage_harness
|
||||||
- ./fuzzers/fuzz_anything/libafl_atheris
|
- fuzz_anything/libafl_atheris
|
||||||
- ./fuzzers/fuzz_anything/baby_no_std
|
- fuzz_anything/baby_no_std
|
||||||
- ./fuzzers/fuzz_anything/baby_fuzzer_wasm
|
- fuzz_anything/baby_fuzzer_wasm
|
||||||
|
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
steps:
|
steps:
|
||||||
@ -360,11 +360,20 @@ jobs:
|
|||||||
# and awful lot of their dependencies). That way we won't use up
|
# and awful lot of their dependencies). That way we won't use up
|
||||||
# as much space.
|
# as much space.
|
||||||
shared-key: fuzzers-x86_64
|
shared-key: fuzzers-x86_64
|
||||||
|
# We want to include the commit hash to ensure the cache is replaced
|
||||||
|
# on each new commit.
|
||||||
|
key: ${{ github.sha }}
|
||||||
|
# We will only save the cache for one of the builds. Though we could
|
||||||
|
# just omit this filter and the jobs race to push to the cache, since
|
||||||
|
# they would all share the same key (combining the `shared-key` and
|
||||||
|
# `key`) our build would generate a load of warnings. Why this
|
||||||
|
# particular fuzzer? No real reason, but we had to choose one.
|
||||||
|
save-if: ${{ matrix.fuzzer == 'binary_only/frida_libpng' }}
|
||||||
cache-all-crates: true
|
cache-all-crates: true
|
||||||
# The code is built in the fuzzers own directory, not in the target
|
# The code is built in the fuzzers own directory, not in the target
|
||||||
# directory in the root of the workspace
|
# directory in the root of the workspace
|
||||||
workspaces: |
|
workspaces: |
|
||||||
${{ matrix.fuzzer }}
|
fuzzers/${{ matrix.fuzzer }}
|
||||||
- name: Test
|
- name: Test
|
||||||
if: runner.os == 'Linux'
|
if: runner.os == 'Linux'
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -375,7 +384,7 @@ jobs:
|
|||||||
run \
|
run \
|
||||||
--manifest-path ./utils/ci_runner/Cargo.toml \
|
--manifest-path ./utils/ci_runner/Cargo.toml \
|
||||||
-- \
|
-- \
|
||||||
${{ matrix.fuzzer }}
|
fuzzers/${{ matrix.fuzzer }}
|
||||||
|
|
||||||
# This job checks whether any changes have been made to the QEMU code to avoid
|
# This job checks whether any changes have been made to the QEMU code to avoid
|
||||||
# rebuilding and testing the QEMU related fuzzers unnecessarily as they are
|
# rebuilding and testing the QEMU related fuzzers unnecessarily as they are
|
||||||
@ -403,6 +412,7 @@ jobs:
|
|||||||
- 'fuzzers/**/*qemu*/**'
|
- 'fuzzers/**/*qemu*/**'
|
||||||
|
|
||||||
fuzzer-unicorn:
|
fuzzer-unicorn:
|
||||||
|
name: 🚀 full_system/unicorn
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
needs:
|
needs:
|
||||||
- fuzzers-preflight
|
- fuzzers-preflight
|
||||||
@ -411,7 +421,7 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
os: [ ubuntu-24.04 ]
|
os: [ ubuntu-24.04 ]
|
||||||
fuzzer:
|
fuzzer:
|
||||||
- ./fuzzers/full_system/unicorn
|
- fuzzers/full_system/unicorn
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: ./.github/workflows/fuzzer-tester-prepare
|
- uses: ./.github/workflows/fuzzer-tester-prepare
|
||||||
@ -434,13 +444,13 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
fuzzer:
|
fuzzer:
|
||||||
- fuzzers/binary_only/qemu_cmin
|
- binary_only/qemu_cmin
|
||||||
- fuzzers/binary_only/qemu_tmin
|
- binary_only/qemu_tmin
|
||||||
- fuzzers/binary_only/qemu_coverage
|
- binary_only/qemu_coverage
|
||||||
- fuzzers/binary_only/qemu_launcher
|
- binary_only/qemu_launcher
|
||||||
- fuzzers/full_system/qemu_baremetal
|
- full_system/qemu_baremetal
|
||||||
# - fuzzers/full_system/qemu_linux_kernel
|
# - full_system/qemu_linux_kernel
|
||||||
# - fuzzers/full_system/qemu_linux_process
|
# - full_system/qemu_linux_process
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
container: registry.gitlab.com/qemu-project/qemu/qemu/ubuntu2204:latest
|
container: registry.gitlab.com/qemu-project/qemu/qemu/ubuntu2204:latest
|
||||||
steps:
|
steps:
|
||||||
@ -461,11 +471,14 @@ jobs:
|
|||||||
# We will have each of these fuzzers have it's own cache since these
|
# We will have each of these fuzzers have it's own cache since these
|
||||||
# are some of the heaviest fuzzers to build.
|
# are some of the heaviest fuzzers to build.
|
||||||
shared-key: qemu-${{ steps.fuzzer_name.outputs.fuzzer_name }}-x86_64
|
shared-key: qemu-${{ steps.fuzzer_name.outputs.fuzzer_name }}-x86_64
|
||||||
|
# We want to include the commit hash to ensure the cache is replaced
|
||||||
|
# on each new commit.
|
||||||
|
key: ${{ github.sha }}
|
||||||
cache-all-crates: true
|
cache-all-crates: true
|
||||||
# The code is built in the fuzzers own directory, not in the target
|
# The code is built in the fuzzers own directory, not in the target
|
||||||
# directory in the root of the workspace
|
# directory in the root of the workspace
|
||||||
workspaces: |
|
workspaces: |
|
||||||
${{ matrix.fuzzer }}
|
fuzzers/${{ matrix.fuzzer }}
|
||||||
- name: Test
|
- name: Test
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
@ -477,14 +490,14 @@ jobs:
|
|||||||
run \
|
run \
|
||||||
--manifest-path ./utils/ci_runner/Cargo.toml \
|
--manifest-path ./utils/ci_runner/Cargo.toml \
|
||||||
-- \
|
-- \
|
||||||
${{ matrix.fuzzer }}
|
fuzzers/${{ matrix.fuzzer }}
|
||||||
|
|
||||||
utils:
|
utils:
|
||||||
name: 🔧 ${{ matrix.util }}
|
name: 🔧 ${{ matrix.util }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
util:
|
util:
|
||||||
- ./utils/gdb_qemu
|
- gdb_qemu
|
||||||
|
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
steps:
|
steps:
|
||||||
@ -498,7 +511,7 @@ jobs:
|
|||||||
- name: Build and run utils (Linux)
|
- name: Build and run utils (Linux)
|
||||||
if: runner.os == 'Linux'
|
if: runner.os == 'Linux'
|
||||||
shell: bash
|
shell: bash
|
||||||
run: just -d ${{ matrix.util }} --justfile ${{ matrix.util }}/Justfile test
|
run: just -d utils/${{ matrix.util }} --justfile utils/${{ matrix.util }}/Justfile test
|
||||||
|
|
||||||
# Build and test librasan. The setup is common, so we use a matrix build and
|
# Build and test librasan. The setup is common, so we use a matrix build and
|
||||||
# use the task name at the end to select which target to build
|
# use the task name at the end to select which target to build
|
||||||
@ -532,6 +545,9 @@ jobs:
|
|||||||
# cache for each since they are both expensive to build and one builds
|
# cache for each since they are both expensive to build and one builds
|
||||||
# for many different architectures.
|
# for many different architectures.
|
||||||
shared-key: librasan-${{ matrix.task }}
|
shared-key: librasan-${{ matrix.task }}
|
||||||
|
# We want to include the commit hash to ensure the cache is replaced
|
||||||
|
# on each new commit.
|
||||||
|
key: ${{ github.sha }}
|
||||||
cache-all-crates: true
|
cache-all-crates: true
|
||||||
# Again the artefacts aren't built in the target root directory.
|
# Again the artefacts aren't built in the target root directory.
|
||||||
workspaces: |
|
workspaces: |
|
||||||
@ -573,9 +589,9 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
shared-key: no-std
|
shared-key: no-std
|
||||||
- name: Build aarch64-unknown-none
|
- name: Build aarch64-unknown-none
|
||||||
run: cd ./fuzzers/fuzz_anything/baby_no_std && cargo build -Zbuild-std=core,alloc --target aarch64-unknown-none -v --release && cd ../..
|
run: cd fuzzers/fuzz_anything/baby_no_std && cargo build -Zbuild-std=core,alloc --target aarch64-unknown-none -v --release && cd ../..
|
||||||
- name: run x86_64 until panic!
|
- name: run x86_64 until panic!
|
||||||
run: cd ./fuzzers/fuzz_anything/baby_no_std && cargo run || test $? -ne 0 || exit 1
|
run: cd fuzzers/fuzz_anything/baby_no_std && cargo run || test $? -ne 0 || exit 1
|
||||||
- name: no_std tests
|
- name: no_std tests
|
||||||
run: cd ./libafl && cargo test --no-default-features
|
run: cd ./libafl && cargo test --no-default-features
|
||||||
|
|
||||||
@ -688,12 +704,12 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
fuzzer:
|
fuzzer:
|
||||||
- fuzzers/binary_only/frida_libpng
|
- binary_only/frida_libpng
|
||||||
- fuzzers/inprocess/libafl_libfuzzer_windows
|
- inprocess/libafl_libfuzzer_windows
|
||||||
- fuzzers/inprocess/libfuzzer_stb_image
|
- inprocess/libfuzzer_stb_image
|
||||||
- fuzzers/binary_only/frida_windows_gdiplus
|
- binary_only/frida_windows_gdiplus
|
||||||
- fuzzers/binary_only/tinyinst_simple
|
- binary_only/tinyinst_simple
|
||||||
# - fuzzers/inprocess/libfuzzer_windows_asan
|
# - inprocess/libfuzzer_windows_asan
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
needs:
|
needs:
|
||||||
@ -720,13 +736,16 @@ jobs:
|
|||||||
# There aren't too many of these fuzzers, so lets just give them a
|
# There aren't too many of these fuzzers, so lets just give them a
|
||||||
# separate cache each for now.
|
# separate cache each for now.
|
||||||
shared-key: fuzzers-windows-${{ steps.fuzzer_name.outputs.fuzzer_name }}-x86_64
|
shared-key: fuzzers-windows-${{ steps.fuzzer_name.outputs.fuzzer_name }}-x86_64
|
||||||
|
# We want to include the commit hash to ensure the cache is replaced
|
||||||
|
# on each new commit.
|
||||||
|
key: ${{ github.sha }}
|
||||||
cache-all-crates: true
|
cache-all-crates: true
|
||||||
# The code is built in the fuzzers own directory, not in the target
|
# The code is built in the fuzzers own directory, not in the target
|
||||||
# directory in the root of the workspace
|
# directory in the root of the workspace
|
||||||
workspaces: |
|
workspaces: |
|
||||||
${{ matrix.fuzzer }}
|
fuzzers/${{ matrix.fuzzer }}
|
||||||
- name: Test
|
- name: Test
|
||||||
run: cd ${{ matrix.fuzzer }} && just test
|
run: cd fuzzers/${{ matrix.fuzzer }} && just test
|
||||||
|
|
||||||
windows-clippy:
|
windows-clippy:
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
|
@ -16,15 +16,15 @@ runs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: export MAKEFLAGS="-j$(expr $(nproc) \+ 1)"
|
run: export MAKEFLAGS="-j$(expr $(nproc) \+ 1)"
|
||||||
- name: Add nightly toolchain
|
- name: Add nightly toolchain
|
||||||
if: ${{ inputs.fuzzer-name == './fuzzers/inprocess/fuzzbench_ctx' || inputs.fuzzer-name == './fuzzers/fuzz_anything/baby_no_std' || inputs.fuzzer-name == './fuzzers/baby/tutorial'}}
|
if: ${{ inputs.fuzzer-name == 'inprocess/fuzzbench_ctx' || inputs.fuzzer-name == 'fuzz_anything/baby_no_std' || inputs.fuzzer-name == 'baby/tutorial'}}
|
||||||
shell: bash
|
shell: bash
|
||||||
run: rustup toolchain install nightly-x86_64-unknown-linux-gnu; rustup component add clippy rustfmt --toolchain nightly-x86_64-unknown-linux-gnu; rustup default nightly
|
run: rustup toolchain install nightly-x86_64-unknown-linux-gnu; rustup component add clippy rustfmt --toolchain nightly-x86_64-unknown-linux-gnu; rustup default nightly
|
||||||
- name: Add no_std toolchain
|
- name: Add no_std toolchain
|
||||||
if: ${{ inputs.fuzzer-name == './fuzzers/fuzz_anything/baby_no_std' }}
|
if: ${{ inputs.fuzzer-name == 'fuzz_anything/baby_no_std' }}
|
||||||
shell: bash
|
shell: bash
|
||||||
run: rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu
|
run: rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu
|
||||||
- name: Add nyx deps
|
- name: Add nyx deps
|
||||||
if: ${{ inputs.fuzzer-name == './fuzzers/full_system/nyx_launcher' || inputs.fuzzer-name == './fuzzers/full_system/nyx_libxml2_standalone' || inputs.fuzzer-name == './fuzzers/full_system/nyx_libxml2_parallel' }}
|
if: ${{ inputs.fuzzer-name == 'full_system/nyx_launcher' || inputs.fuzzer-name == 'full_system/nyx_libxml2_standalone' || inputs.fuzzer-name == 'full_system/nyx_libxml2_parallel' }}
|
||||||
shell: bash
|
shell: bash
|
||||||
run: sudo apt update && sudo apt install -y libgtk-3-dev pax-utils python3-msgpack python3-jinja2 libcapstone-dev
|
run: sudo apt update && sudo apt install -y libgtk-3-dev pax-utils python3-msgpack python3-jinja2 libcapstone-dev
|
||||||
- name: install just
|
- name: install just
|
||||||
@ -32,16 +32,16 @@ runs:
|
|||||||
with:
|
with:
|
||||||
just-version: '1.40.0'
|
just-version: '1.40.0'
|
||||||
- name: Add wasm target
|
- name: Add wasm target
|
||||||
if: ${{ inputs.fuzzer-name == './fuzzers/fuzz_anything/baby_fuzzer_wasm' }}
|
if: ${{ inputs.fuzzer-name == 'fuzz_anything/baby_fuzzer_wasm' }}
|
||||||
shell: bash
|
shell: bash
|
||||||
run: rustup target add wasm32-unknown-unknown
|
run: rustup target add wasm32-unknown-unknown
|
||||||
- name: install wasm-pack
|
- name: install wasm-pack
|
||||||
if: ${{ inputs.fuzzer-name == './fuzzers/fuzz_anything/baby_fuzzer_wasm' }}
|
if: ${{ inputs.fuzzer-name == 'fuzz_anything/baby_fuzzer_wasm' }}
|
||||||
uses: baptiste0928/cargo-install@v3
|
uses: baptiste0928/cargo-install@v3
|
||||||
with:
|
with:
|
||||||
crate: wasm-pack
|
crate: wasm-pack
|
||||||
- name: install chrome
|
- name: install chrome
|
||||||
if: ${{ inputs.fuzzer-name == './fuzzers/fuzz_anything/baby_fuzzer_wasm' }}
|
if: ${{ inputs.fuzzer-name == 'fuzz_anything/baby_fuzzer_wasm' }}
|
||||||
uses: browser-actions/setup-chrome@v1
|
uses: browser-actions/setup-chrome@v1
|
||||||
with:
|
with:
|
||||||
chrome-version: stable
|
chrome-version: stable
|
||||||
|
@ -14,7 +14,7 @@ done < <(
|
|||||||
{
|
{
|
||||||
find ./fuzzers -mindepth 2 -maxdepth 2 -type d
|
find ./fuzzers -mindepth 2 -maxdepth 2 -type d
|
||||||
find ./fuzzers/baby/backtrace_baby_fuzzers -mindepth 1 -maxdepth 1 -type d
|
find ./fuzzers/baby/backtrace_baby_fuzzers -mindepth 1 -maxdepth 1 -type d
|
||||||
} | sed 's|^\./||'
|
} | sed 's|^\./fuzzers/||'
|
||||||
)
|
)
|
||||||
|
|
||||||
exit $ret
|
exit $ret
|
||||||
|
Loading…
x
Reference in New Issue
Block a user