diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 57c86fd7f..c671cc846 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,7 +15,7 @@ concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: - sanitizers: + sanitizers-amd64: runs-on: ubuntu-latest strategy: fail-fast: false @@ -56,6 +56,47 @@ jobs: 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 + run: | + sudo apt update + sudo apt install cmake gcc-12 g++-12 git make curl + + - 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=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 + + valgrind: runs-on: ubuntu-latest strategy: