diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e3339917..52339dc0 100644 --- a/.github/workflows/main.yml +++ b/.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: