mirror of
https://github.com/XRPLF/clio.git
synced 2025-11-04 11:55:51 +00:00
58 lines
1.7 KiB
YAML
58 lines
1.7 KiB
YAML
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/**"
|
|
- "!.github/actions/create-issue/**"
|
|
- .github/scripts/execute-tests-under-sanitizer
|
|
|
|
- CMakeLists.txt
|
|
- conanfile.py
|
|
- conan.lock
|
|
- "cmake/**"
|
|
# We don't run sanitizer 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]
|
|
sanitizer_ext: [.asan, .tsan, .ubsan]
|
|
build_type: [Release, Debug]
|
|
|
|
uses: ./.github/workflows/reusable-build-test.yml
|
|
with:
|
|
runs_on: heavy
|
|
container: '{ "image": "ghcr.io/xrplf/clio-ci:384e79cd32f5f6c0ab9be3a1122ead41c5a7e67d" }'
|
|
download_ccache: false
|
|
upload_ccache: false
|
|
conan_profile: ${{ matrix.compiler }}${{ matrix.sanitizer_ext }}
|
|
build_type: ${{ matrix.build_type }}
|
|
static: false
|
|
# Currently, both gcc.tsan and clang.tsan unit tests hang
|
|
run_unit_tests: ${{ matrix.sanitizer_ext != '.tsan' }}
|
|
run_integration_tests: false
|
|
upload_clio_server: false
|
|
targets: clio_tests clio_integration_tests
|