ci: Add asan and ubsan sanitizer tasks for ZAM

Closes #3906
This commit is contained in:
Arne Welzel 2024-11-08 14:33:11 +01:00
parent e4dbba20a4
commit 6f9eec6c33

View file

@ -67,6 +67,12 @@ skip_task_on_pr: &SKIP_TASK_ON_PR
skip: > skip: >
($CIRRUS_PR != '' && $CIRRUS_PR_LABELS !=~ '.*fullci.*') ($CIRRUS_PR != '' && $CIRRUS_PR_LABELS !=~ '.*fullci.*')
zam_skip_task_on_pr: &ZAM_SKIP_TASK_ON_PR
# Skip this task on PRs if it does not have the fullci or zamci label,
# it continues to run for direct pushes to master/release.
skip: >
($CIRRUS_PR != '' && $CIRRUS_PR_LABELS !=~ '.*fullci.*' && $CIRRUS_PR_LABELS !=~ '.*zamci.*')
benchmark_only_if_template: &BENCHMARK_ONLY_IF_TEMPLATE benchmark_only_if_template: &BENCHMARK_ONLY_IF_TEMPLATE
# only_if condition for cron-triggered benchmarking tests. # only_if condition for cron-triggered benchmarking tests.
# These currently do not run for release/.* # These currently do not run for release/.*
@ -403,6 +409,21 @@ asan_sanitizer_task:
# Use absolute paths for coverage files. # Use absolute paths for coverage files.
CCACHE_BASEDIR: CCACHE_BASEDIR:
# ASAN task executing btests with zam alternative.
asan_sanitizer_zam_task:
container:
dockerfile: ci/ubuntu-24.04/Dockerfile
<< : *RESOURCES_TEMPLATE
<< : *CI_TEMPLATE
test_script:
# Run just the btests with zam as alternative.
- cd testing/btest && ../../auxil/btest/btest -a zam -A -d -b -j ${ZEEK_CI_BTEST_JOBS}
env:
ZEEK_CI_CONFIGURE_FLAGS: *ASAN_SANITIZER_CONFIG
ASAN_OPTIONS: detect_leaks=1:detect_odr_violation=0
<< : *ZAM_SKIP_TASK_ON_PR
ubsan_sanitizer_task: ubsan_sanitizer_task:
container: container:
# Just uses a recent/common distro to run undefined behavior checks. # Just uses a recent/common distro to run undefined behavior checks.
@ -420,6 +441,23 @@ ubsan_sanitizer_task:
ZEEK_TAILORED_UB_CHECKS: 1 ZEEK_TAILORED_UB_CHECKS: 1
UBSAN_OPTIONS: print_stacktrace=1 UBSAN_OPTIONS: print_stacktrace=1
ubsan_sanitizer_zam_task:
container:
dockerfile: ci/ubuntu-24.04/Dockerfile
<< : *RESOURCES_TEMPLATE
<< : *CI_TEMPLATE
test_script:
# Run just the btests with zam as alternative.
- cd testing/btest && ../../auxil/btest/btest -a zam -A -d -b -j ${ZEEK_CI_BTEST_JOBS}
env:
CC: clang-18
CXX: clang++-18
ZEEK_CI_CONFIGURE_FLAGS: *UBSAN_SANITIZER_CONFIG
ZEEK_TAILORED_UB_CHECKS: 1
UBSAN_OPTIONS: print_stacktrace=1
<< : *ZAM_SKIP_TASK_ON_PR
tsan_sanitizer_task: tsan_sanitizer_task:
container: container:
# Just uses a recent/common distro to run memory error/leak checks. # Just uses a recent/common distro to run memory error/leak checks.