Skip to content

Commit 1e16d41

Browse files
committed
Merge branch '3893-make-debian-12-bookworm-base-image' into 'main'
Make Debian 12 "bookworm" the base image See merge request isc-projects/bind9!8075
2 parents a5884c2 + 077d824 commit 1e16d41

File tree

4 files changed

+116
-78
lines changed

4 files changed

+116
-78
lines changed

.gitlab-ci.yml

Lines changed: 113 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -150,20 +150,24 @@ stages:
150150

151151
# Debian
152152

153-
.respdiff-debian-bullseye-amd64: &respdiff_debian_bullseye_amd64_image
153+
.debian-bullseye-amd64: &debian_bullseye_amd64_image
154154
image: "$CI_REGISTRY_IMAGE:debian-bullseye-amd64"
155+
<<: *linux_amd64
156+
157+
.respdiff-debian-bookworm-amd64: &respdiff_debian_bookworm_amd64_image
158+
image: "$CI_REGISTRY_IMAGE:debian-bookworm-amd64"
155159
<<: *linux_respdiff_amd64
156160

157-
.debian-bullseye-amd64: &debian_bullseye_amd64_image
158-
image: "$CI_REGISTRY_IMAGE:debian-bullseye-amd64"
161+
.debian-bookworm-amd64: &debian_bookworm_amd64_image
162+
image: "$CI_REGISTRY_IMAGE:debian-bookworm-amd64"
159163
<<: *linux_amd64
160164

161-
.tsan-debian-bullseye-amd64: &tsan_debian_bullseye_amd64_image
162-
image: "$CI_REGISTRY_IMAGE:tsan-debian-bullseye-amd64"
165+
.tsan-debian-bookworm-amd64: &tsan_debian_bookworm_amd64_image
166+
image: "$CI_REGISTRY_IMAGE:tsan-debian-bookworm-amd64"
163167
<<: *linux_amd64
164168

165-
.debian-bullseye-amd64cross32: &debian_bullseye_amd64cross32_image
166-
image: "$CI_REGISTRY_IMAGE:debian-bullseye-amd64cross32"
169+
.debian-bookworm-amd64cross32: &debian_bookworm_amd64cross32_image
170+
image: "$CI_REGISTRY_IMAGE:debian-bookworm-amd64cross32"
167171
<<: *linux_amd64
168172

169173
.debian-sid-amd64: &debian_sid_amd64_image
@@ -204,7 +208,7 @@ stages:
204208
# This is a meta image that is used as a base for non-specific jobs
205209

206210
.base: &base_image
207-
<<: *debian_bullseye_amd64_image
211+
<<: *debian_bookworm_amd64_image
208212

209213
### QCOW2 Image Templates
210214

@@ -487,7 +491,7 @@ cross-version-config-tests:
487491
- *configure
488492
- make -j${BUILD_PARALLEL_JOBS:-1} -k doc V=1
489493
- qpdf --check doc/arm/_build/latex/Bv9ARM.pdf
490-
- find doc/man/ -maxdepth 1 -name "*.[0-9]" -exec mandoc -T lint "{}" \; | ( ! grep -v -e "skipping paragraph macro. sp after" -e "unknown font, skipping request. ft C" )
494+
- find doc/man/ -maxdepth 1 -name "*.[0-9]" -exec mandoc -T lint "{}" \; | ( ! grep -v -e "skipping paragraph macro. sp after" -e "unknown font, skipping request. ft C" -e "input text line longer than 80 bytes" )
491495

492496
.respdiff: &respdiff_job
493497
stage: system
@@ -627,7 +631,7 @@ tarball-create:
627631
- job: autoreconf
628632
artifacts: true
629633

630-
# Jobs for doc builds on Debian 11 "bullseye" (amd64)
634+
# Jobs for doc builds on Debian 12 "bookworm" (amd64)
631635

632636
docs:
633637
<<: *default_triggering_rules
@@ -788,48 +792,48 @@ gcc:tarball:nosphinx:
788792
- job: tarball-create
789793
artifacts: true
790794

791-
# Jobs for regular GCC builds on Debian 11 "bullseye" (amd64)
795+
# Jobs for regular GCC builds on Debian 12 "bookworm" (amd64)
792796

793-
gcc:bullseye:amd64:
797+
gcc:bookworm:amd64:
794798
variables:
795799
BUILD_CONTRIB: 1
796800
CC: gcc
797801
CFLAGS: "${CFLAGS_COMMON} --coverage -O0"
798802
EXTRA_CONFIGURE: "--with-libidn2 ${WITH_READLINE_LIBEDIT}"
799803
RUN_MAKE_INSTALL: 1
800-
<<: *debian_bullseye_amd64_image
804+
<<: *debian_bookworm_amd64_image
801805
<<: *build_job
802806

803-
system:gcc:bullseye:amd64:
804-
<<: *debian_bullseye_amd64_image
807+
system:gcc:bookworm:amd64:
808+
<<: *debian_bookworm_amd64_image
805809
<<: *system_test_gcov_job
806810
variables:
807811
CI_ENABLE_ALL_TESTS: 1
808812
needs:
809-
- job: unit:gcc:bullseye:amd64
813+
- job: unit:gcc:bookworm:amd64
810814
artifacts: true
811815

812-
unit:gcc:bullseye:amd64:
813-
<<: *debian_bullseye_amd64_image
816+
unit:gcc:bookworm:amd64:
817+
<<: *debian_bookworm_amd64_image
814818
<<: *unit_test_gcov_job
815819
variables:
816820
CI_ENABLE_ALL_TESTS: 1
817821
needs:
818-
- job: gcc:bullseye:amd64
822+
- job: gcc:bookworm:amd64
819823
artifacts: true
820824

821-
# Build job for cross-compiled GCC builds on 64-bit Debian 11 "bullseye"
825+
# Build job for cross-compiled GCC builds on 64-bit Debian 12 "bookworm"
822826
# (amd64) with 32-bit BIND 9.
823827

824-
gcc:bullseye:amd64cross32:
828+
gcc:bookworm:amd64cross32:
825829
variables:
826830
CFLAGS: "${CFLAGS_COMMON}"
827831
CROSS_COMPILATION: 1
828832
EXTRA_CONFIGURE: "--build=x86_64-linux-gnu --host=i686-linux-gnu --with-libidn2 ${WITH_READLINE_LIBEDIT}"
829-
<<: *debian_bullseye_amd64cross32_image
833+
<<: *debian_bookworm_amd64cross32_image
830834
<<: *build_job
831835

832-
# Jobs for scan-build builds on Debian 11 "bullseye" (amd64)
836+
# Jobs for scan-build builds on Debian 12 "bookworm" (amd64)
833837

834838
.scan_build: &scan_build
835839
- ${SCAN_BUILD} --html-title="BIND 9 ($CI_COMMIT_SHORT_SHA)"
@@ -888,20 +892,13 @@ unit:gcc:ossl3:amd64:
888892
gcc:sid:amd64:
889893
variables:
890894
CC: gcc
891-
CFLAGS: "${CFLAGS_COMMON} -O3 -DOPENSSL_API_COMPAT=10100"
892-
# For the jemalloc ./configure option, see https://gitlab.isc.org/isc-projects/bind9/-/issues/3444
893-
EXTRA_CONFIGURE: "--with-libidn2 --without-lmdb --without-jemalloc --disable-leak-detection ${WITH_READLINE}"
895+
CFLAGS: "${CFLAGS_COMMON} -O3"
896+
EXTRA_CONFIGURE: "--with-libidn2 --without-lmdb ${WITH_READLINE}"
894897
RUN_MAKE_INSTALL: 1
895898
<<: *debian_sid_amd64_image
896899
<<: *build_job
897900

898901
system:gcc:sid:amd64:
899-
# Set up environment variables that allow the "keyfromlabel" system test to be run
900-
variables:
901-
DEFAULT_OPENSSL_CONF: "/etc/ssl/openssl.cnf"
902-
OPENSSL_CONF: "/var/tmp/etc/openssl.cnf"
903-
SOFTHSM2_CONF: "/var/tmp/softhsm2/softhsm2.conf"
904-
SOFTHSM2_MODULE: "/usr/lib/softhsm/libsofthsm2.so"
905902
<<: *debian_sid_amd64_image
906903
<<: *system_test_job
907904
needs:
@@ -915,7 +912,7 @@ unit:gcc:sid:amd64:
915912
- job: gcc:sid:amd64
916913
artifacts: true
917914

918-
# Job for out-of-tree GCC build on Debian 11 "bullseye" (amd64)
915+
# Job for out-of-tree GCC build on Debian 12 "bookworm" (amd64)
919916
# Also tests configration option: --with-lmdb.
920917

921918
gcc:out-of-tree:
@@ -949,7 +946,7 @@ unit:gcc:out-of-tree:
949946
<<: *unit_test_job
950947
<<: *api_schedules_tags_triggers_web_triggering_rules
951948

952-
# Jobs for tarball GCC builds on Debian 11 "bullseye" (amd64)
949+
# Jobs for tarball GCC builds on Debian 12 "bookworm" (amd64)
953950

954951
gcc:tarball:
955952
variables:
@@ -1148,7 +1145,7 @@ unit:gcc:tsan:
11481145
artifacts: true
11491146

11501147
clang:tsan:
1151-
<<: *tsan_debian_bullseye_amd64_image
1148+
<<: *tsan_debian_bookworm_amd64_image
11521149
<<: *build_job
11531150
variables:
11541151
CC: "${CLANG}"
@@ -1159,7 +1156,7 @@ clang:tsan:
11591156
system:clang:tsan:
11601157
variables:
11611158
TSAN_OPTIONS: "${TSAN_OPTIONS_DEBIAN}"
1162-
<<: *tsan_debian_bullseye_amd64_image
1159+
<<: *tsan_debian_bookworm_amd64_image
11631160
<<: *system_test_tsan_job
11641161
needs:
11651162
- job: clang:tsan
@@ -1168,28 +1165,45 @@ system:clang:tsan:
11681165
unit:clang:tsan:
11691166
variables:
11701167
TSAN_OPTIONS: "${TSAN_OPTIONS_DEBIAN}"
1171-
<<: *tsan_debian_bullseye_amd64_image
1168+
<<: *tsan_debian_bookworm_amd64_image
11721169
<<: *unit_test_tsan_job
11731170
needs:
11741171
- job: clang:tsan
11751172
artifacts: true
11761173

1177-
# Jobs for Clang builds on Debian 11 "bullseye" (amd64)
1178-
# The -Wno-compound-token-split-by-macro option prevents warning when compiling
1179-
# Perl DLZ module with Clang against Perl older than version 5.35.2.
1174+
# Jobs for Debian 11 "bullseye" (amd64)
11801175

11811176
clang:bullseye:amd64:
11821177
variables:
1183-
BUILD_CONTRIB: 1
11841178
CC: ${CLANG}
1185-
CFLAGS: "${CFLAGS_COMMON} -Wenum-conversion -Wno-compound-token-split-by-macro"
1186-
# See https://gitlab.isc.org/isc-projects/bind9/-/issues/3444
1187-
EXTRA_CONFIGURE: "--without-jemalloc --disable-leak-detection"
1188-
RUN_MAKE_INSTALL: 1
1179+
CFLAGS: "${CFLAGS_COMMON} -Wenum-conversion"
11891180
<<: *debian_bullseye_amd64_image
11901181
<<: *build_job
11911182

11921183
system:clang:bullseye:amd64:
1184+
<<: *debian_bullseye_amd64_image
1185+
<<: *system_test_job
1186+
needs:
1187+
- job: clang:bullseye:amd64
1188+
artifacts: true
1189+
1190+
unit:clang:bullseye:amd64:
1191+
<<: *debian_bullseye_amd64_image
1192+
<<: *unit_test_job
1193+
needs:
1194+
- job: clang:bullseye:amd64
1195+
artifacts: true
1196+
1197+
gcc:bullseye:amd64:
1198+
variables:
1199+
CC: gcc
1200+
CFLAGS: "${CFLAGS_COMMON}"
1201+
# See https://gitlab.isc.org/isc-projects/bind9/-/issues/3444
1202+
EXTRA_CONFIGURE: "--with-libidn2 --without-jemalloc --disable-leak-detection"
1203+
<<: *debian_bullseye_amd64_image
1204+
<<: *build_job
1205+
1206+
system:gcc:bullseye:amd64:
11931207
# Set up environment variables that allow the "keyfromlabel" system test to be run
11941208
variables:
11951209
DEFAULT_OPENSSL_CONF: "/etc/ssl/openssl.cnf"
@@ -1199,14 +1213,47 @@ system:clang:bullseye:amd64:
11991213
<<: *debian_bullseye_amd64_image
12001214
<<: *system_test_job
12011215
needs:
1202-
- job: clang:bullseye:amd64
1216+
- job: gcc:bullseye:amd64
12031217
artifacts: true
12041218

1205-
unit:clang:bullseye:amd64:
1219+
unit:gcc:bullseye:amd64:
12061220
<<: *debian_bullseye_amd64_image
12071221
<<: *unit_test_job
12081222
needs:
1209-
- job: clang:bullseye:amd64
1223+
- job: gcc:bullseye:amd64
1224+
artifacts: true
1225+
1226+
# Jobs for Clang builds on Debian 12 "bookworm" (amd64)
1227+
1228+
clang:bookworm:amd64:
1229+
variables:
1230+
BUILD_CONTRIB: 1
1231+
CC: ${CLANG}
1232+
CFLAGS: "${CFLAGS_COMMON} -Wenum-conversion -DOPENSSL_API_COMPAT=10100"
1233+
# See https://gitlab.isc.org/isc-projects/bind9/-/issues/3444
1234+
EXTRA_CONFIGURE: "--without-jemalloc --disable-leak-detection"
1235+
RUN_MAKE_INSTALL: 1
1236+
<<: *debian_bookworm_amd64_image
1237+
<<: *build_job
1238+
1239+
system:clang:bookworm:amd64:
1240+
# Set up environment variables that allow the "keyfromlabel" system test to be run
1241+
variables:
1242+
DEFAULT_OPENSSL_CONF: "/etc/ssl/openssl.cnf"
1243+
OPENSSL_CONF: "/var/tmp/etc/openssl.cnf"
1244+
SOFTHSM2_CONF: "/var/tmp/softhsm2/softhsm2.conf"
1245+
SOFTHSM2_MODULE: "/usr/lib/softhsm/libsofthsm2.so"
1246+
<<: *debian_bookworm_amd64_image
1247+
<<: *system_test_job
1248+
needs:
1249+
- job: clang:bookworm:amd64
1250+
artifacts: true
1251+
1252+
unit:clang:bookworm:amd64:
1253+
<<: *debian_bookworm_amd64_image
1254+
<<: *unit_test_job
1255+
needs:
1256+
- job: clang:bookworm:amd64
12101257
artifacts: true
12111258

12121259
# Jobs for Clang builds on FreeBSD 12 (amd64)
@@ -1382,7 +1429,7 @@ coverity:
13821429
respdiff-short:
13831430
<<: *respdiff_job
13841431
<<: *default_triggering_rules
1385-
<<: *debian_bullseye_amd64_image
1432+
<<: *debian_bookworm_amd64_image
13861433
variables:
13871434
CC: gcc
13881435
CFLAGS: "${CFLAGS_COMMON} -Og -DISC_TRACK_PTHREADS_OBJECTS"
@@ -1393,7 +1440,7 @@ respdiff-short:
13931440
respdiff-short:asan:
13941441
<<: *respdiff_job
13951442
<<: *default_triggering_rules
1396-
<<: *debian_bullseye_amd64_image
1443+
<<: *debian_bookworm_amd64_image
13971444
variables:
13981445
CC: gcc
13991446
CFLAGS: "${CFLAGS_COMMON} -Og -fsanitize=address,undefined"
@@ -1406,7 +1453,7 @@ respdiff-short:asan:
14061453
respdiff-short:tsan:
14071454
<<: *respdiff_job
14081455
<<: *default_triggering_rules
1409-
<<: *tsan_debian_bullseye_amd64_image
1456+
<<: *tsan_debian_bookworm_amd64_image
14101457
variables:
14111458
CC: gcc
14121459
CFLAGS: "${CFLAGS_COMMON} -Og -fsanitize=thread"
@@ -1423,7 +1470,7 @@ respdiff-short:tsan:
14231470
respdiff-long:
14241471
<<: *respdiff_job
14251472
<<: *api_schedules_tags_triggers_web_triggering_rules
1426-
<<: *respdiff_debian_bullseye_amd64_image
1473+
<<: *respdiff_debian_bookworm_amd64_image
14271474
variables:
14281475
CC: gcc
14291476
CFLAGS: "${CFLAGS_COMMON} -Og -DISC_TRACK_PTHREADS_OBJECTS"
@@ -1434,7 +1481,7 @@ respdiff-long:
14341481
respdiff-long:asan:
14351482
<<: *respdiff_job
14361483
<<: *api_schedules_tags_triggers_web_triggering_rules
1437-
<<: *debian_bullseye_amd64_image
1484+
<<: *debian_bookworm_amd64_image
14381485
variables:
14391486
CC: gcc
14401487
CFLAGS: "${CFLAGS_COMMON} -Og -fsanitize=address,undefined"
@@ -1447,7 +1494,7 @@ respdiff-long:asan:
14471494
respdiff-long:tsan:
14481495
<<: *respdiff_job
14491496
<<: *api_schedules_tags_triggers_web_triggering_rules
1450-
<<: *tsan_debian_bullseye_amd64_image
1497+
<<: *tsan_debian_bookworm_amd64_image
14511498
variables:
14521499
CC: gcc
14531500
CFLAGS: "${CFLAGS_COMMON} -Og -fsanitize=thread"
@@ -1464,7 +1511,7 @@ respdiff-long:tsan:
14641511
respdiff-long-third-party:
14651512
<<: *respdiff_job
14661513
<<: *api_schedules_tags_triggers_web_triggering_rules
1467-
<<: *debian_bullseye_amd64_image
1514+
<<: *debian_bookworm_amd64_image
14681515
variables:
14691516
CC: gcc
14701517
CFLAGS: "${CFLAGS_COMMON} -Og"
@@ -1653,36 +1700,27 @@ gcov:
16531700
<<: *default_triggering_rules
16541701
stage: postcheck
16551702
needs:
1656-
- job: system:gcc:bullseye:amd64
1703+
- job: system:gcc:bookworm:amd64
16571704
artifacts: true
16581705
script:
1659-
# *.gcno and *.gcda files generated for shared library objects are created
1660-
# in directories in which gcovr is unable to process them properly
1661-
# (.../.libs/...). Move such *.gcno and *.gcda files one level higher.
1662-
- find . -regex ".*/\.libs/.*\.\(gcda\|gcno\)" -execdir mv "{}" .. \;
1663-
# Help gcovr process the nasty tricks in lib/dns/code.h, where we include C
1664-
# source files from lib/dns/rdata/*/, using an even nastier trick.
1665-
- find lib/dns/rdata/* -name "*.c" -execdir cp -f "{}" ../../ \;
1666-
# Help gcovr process inline functions in headers by copying all libdns and
1667-
# libisc headers to lib/{dns,isc,ns}/.
1668-
- for SRC in dns isc; do for DST in dns isc ns; do cp -f "lib/${SRC}/include/${SRC}"/*.h "lib/${DST}/"; done; done
1669-
- find bin lib -maxdepth 1 -mindepth 1 -type d -exec cp -f lib/isc/include/isc/buffer.h "{}" \;
1670-
- cp -f lib/isc/include/isc/buffer.h lib/isc/netmgr/buffer.h
1671-
- cp -f lib/isc/include/isc/dnsstream.h lib/isc/netmgr/dnsstream.h
1672-
- cp -f lib/isc/include/isc/tid.h lib/isc/netmgr/tid.h
1673-
# Help gcovr find dlz_dbi.c file
1674-
- for DST in ldap mysql mysqldyn sqlite3 wildcard; do cp contrib/dlz/modules/common/dlz_dbi.c "contrib/dlz/modules/${DST}"; done
1706+
# Ensure gcov files for unit tests are found via tests/ rather than
1707+
# lib/*/tests/ to prevent confusing gcovr.
1708+
- find lib/ -name tests -type l -delete
1709+
# The "a-conftest.gcno" file is result of the ./configure step and
1710+
# should be removed as it does not belong to the BIND 9 code base.
1711+
- rm a-conftest.gcno
16751712
# Generate XML file in the Cobertura XML format suitable for use by GitLab
16761713
# for the purpose of displaying code coverage information in the diff view
16771714
# of a given merge request.
1678-
- gcovr --root . --exclude-directories bin/tests --exclude-directories doc --exclude-directories fuzz --exclude-directories lib/samples --exclude tests --xml -o coverage.xml
1679-
- gcovr --root . --exclude-directories bin/tests --exclude-directories doc --exclude-directories fuzz --exclude-directories lib/samples --exclude tests --html-details -o coverage.html
1680-
- gcovr --root . --exclude-directories bin/tests --exclude-directories doc --exclude-directories fuzz --exclude-directories lib/samples --exclude tests -o coverage.txt
1715+
- gcovr --exclude-directories bin/tests --exclude-directories doc --exclude-directories fuzz --exclude tests --cobertura-pretty -o coverage.xml
1716+
- gcovr --exclude-directories bin/tests --exclude-directories doc --exclude-directories fuzz --exclude tests --html-details -o coverage.html
1717+
- gcovr --exclude-directories bin/tests --exclude-directories doc --exclude-directories fuzz --exclude tests --txt -o coverage.txt
16811718
- tail -n 3 coverage.txt
16821719
coverage: /^TOTAL.*\s+(\d+\%)$/
16831720
artifacts:
16841721
paths:
16851722
- coverage*.html
1723+
- coverage.css
16861724
- coverage.txt
16871725
- coverage.xml
16881726
reports:

0 commit comments

Comments
 (0)