[9.18] chg: test: For TSAN builds, use libraries from /opt/tsan

The new TSAN images, the TSAN-enabled images install libraries to
opt/tsan, synchronize the configure options and CFLAGS between gcc:tsan
and clang:tsan images and set the PKG_CONFIG_PATH to /opt/tsan/lib.

Additionally, drop Debian bullseye that's EOL now.

Backport of MR !9324

Merge branch 'backport-ondrej/use-staging-tsan-images-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9326
This commit is contained in:
Ondřej Surý 2024-08-16 08:40:48 +00:00
commit 11add5e520
2 changed files with 15 additions and 62 deletions

View file

@ -143,10 +143,6 @@ stages:
# Debian
.debian-bullseye-amd64: &debian_bullseye_amd64_image
image: "$CI_REGISTRY_IMAGE:debian-bullseye-amd64"
<<: *linux_amd64
.debian-bookworm-amd64: &debian_bookworm_amd64_image
image: "$CI_REGISTRY_IMAGE:debian-bookworm-amd64"
<<: *linux_amd64
@ -1204,9 +1200,11 @@ unit:clang:asan:
gcc:tsan:
variables:
CC: gcc
CFLAGS: "${CFLAGS_COMMON} -Wno-stringop-overread -ggdb -O2 -fsanitize=thread -Wl,-rpath=/usr/local/lib -Wl,--enable-new-dtags"
CFLAGS: "${CFLAGS_COMMON} -Wno-stringop-overread -ggdb -O2 -fsanitize=thread"
LDFLAGS: "-fsanitize=thread"
EXTRA_CONFIGURE: "--with-libidn2 --enable-pthread-rwlock --without-jemalloc PKG_CONFIG_PATH=/usr/local/lib/pkgconfig"
OPENSSL_CFLAGS: -I/opt/tsan/include
OPENSSL_LIBS: -L/opt/tsan/lib -lssl -lcrypto
EXTRA_CONFIGURE: "--with-libidn2 --enable-pthread-rwlock --without-jemalloc PKG_CONFIG_PATH=/opt/tsan/lib/pkgconfig"
<<: *tsan_fedora_40_amd64_image
<<: *build_job
@ -1233,9 +1231,11 @@ clang:tsan:
<<: *build_job
variables:
CC: "${CLANG}"
CFLAGS: "${CFLAGS_COMMON} -fsanitize=thread"
CFLAGS: "${CFLAGS_COMMON} -ggdb -O2 -fsanitize=thread"
LDFLAGS: "-fsanitize=thread"
EXTRA_CONFIGURE: "--with-libidn2 --enable-pthread-rwlock --without-jemalloc"
OPENSSL_CFLAGS: -I/opt/tsan/include
OPENSSL_LIBS: -L/opt/tsan/lib -lssl -lcrypto
EXTRA_CONFIGURE: "--with-libidn2 --enable-pthread-rwlock --without-jemalloc PKG_CONFIG_PATH=/opt/tsan/lib/pkgconfig"
system:clang:tsan:
variables:
@ -1255,58 +1255,6 @@ unit:clang:tsan:
- job: clang:tsan
artifacts: true
# Jobs for Debian 11 "bullseye" (amd64)
clang:bullseye:amd64:
variables:
CC: ${CLANG}
CFLAGS: "${CFLAGS_COMMON} -Wenum-conversion"
<<: *debian_bullseye_amd64_image
<<: *build_job
system:clang:bullseye:amd64:
<<: *debian_bullseye_amd64_image
<<: *system_test_job
needs:
- job: clang:bullseye:amd64
artifacts: true
unit:clang:bullseye:amd64:
<<: *debian_bullseye_amd64_image
<<: *unit_test_job
needs:
- job: clang:bullseye:amd64
artifacts: true
gcc:bullseye:amd64:
variables:
CC: gcc
CFLAGS: "${CFLAGS_COMMON}"
# See https://gitlab.isc.org/isc-projects/bind9/-/issues/3444
EXTRA_CONFIGURE: "--with-libidn2 --without-jemalloc"
<<: *debian_bullseye_amd64_image
<<: *build_job
system:gcc:bullseye:amd64:
# Set up environment variables that allow the "keyfromlabel" system test to be run
variables:
DEFAULT_OPENSSL_CONF: "/etc/ssl/openssl.cnf"
OPENSSL_CONF: "/var/tmp/etc/openssl.cnf"
SOFTHSM2_CONF: "/var/tmp/softhsm2/softhsm2.conf"
SOFTHSM2_MODULE: "/usr/lib/softhsm/libsofthsm2.so"
<<: *debian_bullseye_amd64_image
<<: *system_test_job
needs:
- job: gcc:bullseye:amd64
artifacts: true
unit:gcc:bullseye:amd64:
<<: *debian_bullseye_amd64_image
<<: *unit_test_job
needs:
- job: gcc:bullseye:amd64
artifacts: true
# Jobs for Clang builds on Debian 12 "bookworm" (amd64)
clang:bookworm:amd64:
@ -1577,7 +1525,9 @@ respdiff:tsan:
CC: gcc
CFLAGS: "${CFLAGS_COMMON} -Og -fsanitize=thread"
LDFLAGS: "-fsanitize=thread"
EXTRA_CONFIGURE: "--disable-dnsrps --enable-pthread-rwlock --without-jemalloc"
OPENSSL_CFLAGS: -I/opt/tsan/include
OPENSSL_LIBS: -L/opt/tsan/lib -lssl -lcrypto
EXTRA_CONFIGURE: "--disable-dnsrps --enable-pthread-rwlock --without-jemalloc PKG_CONFIG_PATH=/opt/tsan/lib/pkgconfig"
MAX_DISAGREEMENTS_PERCENTAGE: "0.5"
TSAN_OPTIONS: "${TSAN_OPTIONS_DEBIAN}"
script:

View file

@ -45,7 +45,7 @@ Regularly Tested Platforms
Current versions of BIND 9 are fully supported and regularly tested on the
following systems:
- Debian 11, 12
- Debian 12
- Ubuntu LTS 20.04, 22.04, 24.04
- Fedora 40
- Red Hat Enterprise Linux / CentOS / Oracle Linux 7, 8, 9
@ -91,6 +91,9 @@ supported platforms.
- Ubuntu 14.04, 16.04 (Ubuntu ESM releases are not supported)
- CentOS 6
- Debian 8 Jessie, 9 Stretch, 10 Buster, 11 Bullseye
- Ubuntu 14.04, 16.04, 18.04 (Ubuntu ESM releases are not supported)
- Red Hat Enterprise Linux / CentOS / Oracle Linux 6, 7
- Debian 8 Jessie, 9 Stretch, 10 Buster
- FreeBSD 10.x, 11.x