name: Run tests with sanitizers on: schedule: - cron: "0 4 * * 1-5" workflow_dispatch: pull_request: paths: - .github/workflows/sanitizers.yml - .github/workflows/reusable-build-test.yml - .github/workflows/reusable-build.yml - .github/workflows/reusable-test.yml - ".github/actions/**" - "!.github/actions/build-docker-image/**" - CMakeLists.txt - conanfile.py - conan.lock - "cmake/**" # We don't run sanitizers on code change, because it takes too long # - "src/**" # - "tests/**" concurrency: # Only cancel in-progress jobs or runs for the current workflow - matches against branch & tags group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: build-and-test: name: Build and Test strategy: fail-fast: false matrix: compiler: [gcc, clang] sanitizers: [address, thread, undefinedbehavior] build_type: [Release, Debug] uses: ./.github/workflows/reusable-build-test.yml with: runs_on: heavy container: '{ "image": "ghcr.io/xrplf/xrpld/nix-ubuntu:sha-cb2642b" }' download_ccache: false upload_ccache: false compiler: ${{ matrix.compiler }} sanitizers: ${{ matrix.sanitizers }} build_type: ${{ matrix.build_type }} run_unit_tests: true run_integration_tests: false upload_clio_server: false targets: clio_tests clio_integration_tests