* Add fuzz to CI

* Change compiler to clang++

* Fix flag name

* Remove fuzzing from a requirement.

* Update to checkout v4
This commit is contained in:
Matthew Parkinson 2024-11-19 14:28:55 +00:00 коммит произвёл GitHub
Родитель 0b53b9301e
Коммит e343232611
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
1 изменённых файлов: 21 добавлений и 9 удалений

30
.github/workflows/main.yml поставляемый
Просмотреть файл

@ -77,7 +77,7 @@ jobs:
runs-on: ${{ matrix.os }}
name: ${{ matrix.os }} ${{ matrix.build-type }} ${{ matrix.variant }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install build dependencies
run: "sudo apt install ninja-build"
@ -118,7 +118,7 @@ jobs:
runs-on: ${{ matrix.os }}
name: ${{ matrix.os }} ${{ matrix.build-type }} ${{ matrix.extra-cmake-flags }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install build dependencies
# The homebrew packages are broken at the moment and error out
# after trying to install Python as a dependency of ninja because
@ -167,7 +167,7 @@ jobs:
runs-on: ubuntu-22.04
name: FreeBSD-${{ matrix.os.version}} ${{ matrix.build-type }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: vmactions/freebsd-vm@v1
with:
release: ${{ matrix.os.version}}
@ -198,7 +198,7 @@ jobs:
runs-on: ubuntu-22.04
name: NetBSD-${{ matrix.os.version}} ${{ matrix.build-type }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: vmactions/netbsd-vm@v1
with:
release: ${{ matrix.os.version}}
@ -231,7 +231,7 @@ jobs:
# runs-on: macos-latest
# name: OpenBSD-${{ matrix.os.version}} ${{ matrix.build-type }}
# steps:
# - uses: actions/checkout@v3
# - uses: actions/checkout@v4
# - uses: vmactions/openbsd-vm@v0
# with:
# release: ${{ matrix.os.version}}
@ -268,7 +268,7 @@ jobs:
runs-on: ${{ matrix.os }}
name: ${{ matrix.os }} ${{ matrix.build-type }} ${{ matrix.variant }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install build dependencies
run: ${{ matrix.dependencies }}
@ -323,7 +323,7 @@ jobs:
runs-on: ${{matrix.arch.host-os}}
name: ${{matrix.build-type}} cross-build for ${{ matrix.arch.triple }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: "Install cross-compile toolchain and QEMU (ubuntu-20.04)"
# Install the dependencies and clang 13. Earlier versions of clang don't
# find the multilib things for this week's Ubuntu filesystem layout.
@ -443,7 +443,7 @@ jobs:
runs-on: ${{ matrix.os }}
name: ${{ matrix.os }} ${{ matrix.arch }} ${{ matrix.build-type }} ${{ matrix.toolchain }} ${{ matrix.variant }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Configure CMake
run: |
cmake -B ${{github.workspace}}/build -A ${{ matrix.arch }} ${{ matrix.toolchain }} ${{ matrix.extra-cmake-flags }} -DSNMALLOC_CI_BUILD=On -DSNMALLOC_RUST_SUPPORT=On
@ -463,7 +463,7 @@ jobs:
runs-on: ubuntu-22.04
# We don't need to do the build for this job, but we need to configure it to get the clang-format target
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install clang-tidy and clang-format
run: |
sudo apt update
@ -485,8 +485,20 @@ jobs:
exit 1
fi
fuzzing:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DSNMALLOC_ENABLE_FUZZING=ON -DFUZZTEST_FUZZING_MODE=ON -DCMAKE_CXX_COMPILER=clang++
- name: Build
run: cmake --build ${{github.workspace}}/build --target snmalloc-fuzzer
- name: Test
run: ${{github.workspace}}/build/fuzzing/snmalloc-fuzzer
all-checks:
# Currently FreeBSD and NetBSD CI are not working, so we do not require them to pass.
# Add fuzzing back when the memove issue is fixed.
needs: [ubuntu, macos, freebsd, netbsd, sanitizer, qemu-crossbuild, windows, format]
runs-on: ubuntu-latest
steps: