diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6a8f9f275..29aeddd6a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,14 +15,20 @@ concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: - sanitizers-amd64: - runs-on: ubuntu-latest + sanitizers: strategy: fail-fast: false matrix: suffix: - none - - sse2 + - vectorized + arch: + - amd64 + - arm64 + if: matrix.arch == 'amd64' + runs-on: ubuntu-latest + if: matrix.arch == 'arm64' + runs-on: arm-4core-linux steps: - uses: actions/checkout@v4 with: @@ -31,46 +37,12 @@ jobs: - name: Create directories run: mkdir Debug - - name: CMake - env: - CC: gcc-12 - CXX: g++-12 - run: | - cmake .. -DCMAKE_BUILD_TYPE=Debug \ - -DCMAKE_CXX_FLAGS="-fsanitize=address,leak,undefined -DASAN_BUILD" \ - -DCMAKE_C_FLAGS="-fsanitize=address,leak,undefined -DASAN_BUILD" \ - -DCMAKE_EXE_LINKER_FLAGS="-fsanitize=address,leak,undefined" \ - -DCMAKE_MODULE_LINKER_FLAGS="-fsanitize=address,leak,undefined" \ - -DLIBDDWAF_VECTORIZED_TRANSFORMERS=$([ "${{ matrix.suffix }}" != "none" ] && echo "ON" || echo "OFF") - working-directory: Debug - - - name: Build - run: VERBOSE=1 make -j $(nproc) waf_test waf_validator - working-directory: Debug - - - name: Test - run: ASAN_OPTIONS="verbosity=1 fast_unwind_on_malloc=0 detect_leaks=1" make test - working-directory: Debug - - - name: Validate - run: ASAN_OPTIONS="verbosity=1 fast_unwind_on_malloc=0 detect_leaks=1" make validate - working-directory: Debug - - sanitizers-arm64: - runs-on: arm-4core-linux - steps: - - uses: actions/checkout@v4 - with: - submodules: recursive - - name: Install dependencies + if: matrix.arch == 'arm64' run: | sudo apt update DEBIAN_FRONTEND="noninteractive" sudo apt install -y cmake gcc-12 g++-12 git make curl - - name: Create directories - run: mkdir Debug - - name: CMake env: CC: gcc-12 @@ -81,7 +53,7 @@ jobs: -DCMAKE_C_FLAGS="-fsanitize=address,leak,undefined -DASAN_BUILD" \ -DCMAKE_EXE_LINKER_FLAGS="-fsanitize=address,leak,undefined" \ -DCMAKE_MODULE_LINKER_FLAGS="-fsanitize=address,leak,undefined" \ - -DLIBDDWAF_VECTORIZED_TRANSFORMERS=OFF + -DLIBDDWAF_VECTORIZED_TRANSFORMERS=$([ "${{ matrix.suffix }}" != "none" ] && echo "ON" || echo "OFF") working-directory: Debug - name: Build @@ -96,7 +68,6 @@ jobs: run: ASAN_OPTIONS="verbosity=1 fast_unwind_on_malloc=0 detect_leaks=1" make validate working-directory: Debug - valgrind: runs-on: ubuntu-latest strategy: