From eebe045d463b38f53e8b204db5748afd2c10dba0 Mon Sep 17 00:00:00 2001 From: Michal Nowak Date: Mon, 24 Jul 2023 16:19:33 +0200 Subject: [PATCH 1/7] Make Debian 12 "bookworm" the base image Just replace "bullseye" with "bookworm" and reintroduce Debian 11 "bullseye" later. (cherry picked from commit 2d18c57c547e13f12cea755ee7908c736a2015f8) --- .gitlab-ci.yml | 90 +++++++++++++++++++-------------------- doc/arm/platforms.inc.rst | 2 +- doc/arm/requirements.txt | 2 +- 3 files changed, 47 insertions(+), 47 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 960883423e..5e315a8e10 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -150,20 +150,20 @@ stages: image: "$CI_REGISTRY_IMAGE:debian-buster-amd64" <<: *linux_amd64 -.respdiff-debian-bullseye-amd64: &respdiff_debian_bullseye_amd64_image - image: "$CI_REGISTRY_IMAGE:debian-bullseye-amd64" +.respdiff-debian-bookworm-amd64: &respdiff_debian_bookworm_amd64_image + image: "$CI_REGISTRY_IMAGE:debian-bookworm-amd64" <<: *linux_respdiff_amd64 -.debian-bullseye-amd64: &debian_bullseye_amd64_image - image: "$CI_REGISTRY_IMAGE:debian-bullseye-amd64" +.debian-bookworm-amd64: &debian_bookworm_amd64_image + image: "$CI_REGISTRY_IMAGE:debian-bookworm-amd64" <<: *linux_amd64 -.tsan-debian-bullseye-amd64: &tsan_debian_bullseye_amd64_image - image: "$CI_REGISTRY_IMAGE:tsan-debian-bullseye-amd64" +.tsan-debian-bookworm-amd64: &tsan_debian_bookworm_amd64_image + image: "$CI_REGISTRY_IMAGE:tsan-debian-bookworm-amd64" <<: *linux_amd64 -.debian-bullseye-amd64cross32: &debian_bullseye_amd64cross32_image - image: "$CI_REGISTRY_IMAGE:debian-bullseye-amd64cross32" +.debian-bookworm-amd64cross32: &debian_bookworm_amd64cross32_image + image: "$CI_REGISTRY_IMAGE:debian-bookworm-amd64cross32" <<: *linux_amd64 .debian-sid-amd64: &debian_sid_amd64_image @@ -208,7 +208,7 @@ stages: # This is a meta image that is used as a base for non-specific jobs .base: &base_image - <<: *debian_bullseye_amd64_image + <<: *debian_bookworm_amd64_image ### QCOW2 Image Templates @@ -645,7 +645,7 @@ tarball-create: - job: autoreconf artifacts: true -# Jobs for doc builds on Debian 11 "bullseye" (amd64) +# Jobs for doc builds on Debian 12 "bookworm" (amd64) docs: <<: *default_triggering_rules @@ -806,48 +806,48 @@ unit:gcc:buster:amd64: - job: gcc:buster:amd64 artifacts: true -# Jobs for regular GCC builds on Debian 11 "bullseye" (amd64) +# Jobs for regular GCC builds on Debian 12 "bookworm" (amd64) -gcc:bullseye:amd64: +gcc:bookworm:amd64: variables: BUILD_CONTRIB: 1 CC: gcc CFLAGS: "${CFLAGS_COMMON} --coverage -O0" EXTRA_CONFIGURE: "--with-libidn2 ${WITH_READLINE_LIBEDIT}" RUN_MAKE_INSTALL: 1 - <<: *debian_bullseye_amd64_image + <<: *debian_bookworm_amd64_image <<: *build_job -system:gcc:bullseye:amd64: - <<: *debian_bullseye_amd64_image +system:gcc:bookworm:amd64: + <<: *debian_bookworm_amd64_image <<: *system_test_gcov_job variables: CI_ENABLE_ALL_TESTS: 1 needs: - - job: unit:gcc:bullseye:amd64 + - job: unit:gcc:bookworm:amd64 artifacts: true -unit:gcc:bullseye:amd64: - <<: *debian_bullseye_amd64_image +unit:gcc:bookworm:amd64: + <<: *debian_bookworm_amd64_image <<: *unit_test_gcov_job variables: CI_ENABLE_ALL_TESTS: 1 needs: - - job: gcc:bullseye:amd64 + - job: gcc:bookworm:amd64 artifacts: true -# Build job for cross-compiled GCC builds on 64-bit Debian 11 "bullseye" +# Build job for cross-compiled GCC builds on 64-bit Debian 12 "bookworm" # (amd64) with 32-bit BIND 9. -gcc:bullseye:amd64cross32: +gcc:bookworm:amd64cross32: variables: CFLAGS: "${CFLAGS_COMMON}" CROSS_COMPILATION: 1 EXTRA_CONFIGURE: "--build=x86_64-linux-gnu --host=i686-linux-gnu --with-libidn2 ${WITH_READLINE_LIBEDIT}" - <<: *debian_bullseye_amd64cross32_image + <<: *debian_bookworm_amd64cross32_image <<: *build_job -# Jobs for scan-build builds on Debian 11 "bullseye" (amd64) +# Jobs for scan-build builds on Debian 12 "bookworm" (amd64) .scan_build: &scan_build - ${SCAN_BUILD} --html-title="BIND 9 ($CI_COMMIT_SHORT_SHA)" @@ -909,7 +909,7 @@ unit:gcc:sid:amd64: - job: gcc:sid:amd64 artifacts: true -# Job for out-of-tree GCC build on Debian 11 "bullseye" (amd64) +# Job for out-of-tree GCC build on Debian 12 "bookworm" (amd64) # Also tests configration option: --with-lmdb. gcc:out-of-tree: @@ -943,7 +943,7 @@ unit:gcc:out-of-tree: <<: *unit_test_job <<: *api_schedules_tags_triggers_web_triggering_rules -# Jobs for tarball GCC builds on Debian 11 "bullseye" (amd64) +# Jobs for tarball GCC builds on Debian 12 "bookworm" (amd64) gcc:tarball: variables: @@ -1169,7 +1169,7 @@ unit:gcc:tsan: artifacts: true clang:tsan: - <<: *tsan_debian_bullseye_amd64_image + <<: *tsan_debian_bookworm_amd64_image <<: *build_job variables: CC: "${CLANG}" @@ -1180,7 +1180,7 @@ clang:tsan: system:clang:tsan: variables: TSAN_OPTIONS: "${TSAN_OPTIONS_DEBIAN}" - <<: *tsan_debian_bullseye_amd64_image + <<: *tsan_debian_bookworm_amd64_image <<: *system_test_tsan_job needs: - job: clang:tsan @@ -1189,17 +1189,17 @@ system:clang:tsan: unit:clang:tsan: variables: TSAN_OPTIONS: "${TSAN_OPTIONS_DEBIAN}" - <<: *tsan_debian_bullseye_amd64_image + <<: *tsan_debian_bookworm_amd64_image <<: *unit_test_tsan_job needs: - job: clang:tsan artifacts: true -# Jobs for Clang builds on Debian 11 "bullseye" (amd64) +# Jobs for Clang builds on Debian 12 "bookworm" (amd64) # The -Wno-compound-token-split-by-macro option prevents warning when compiling # Perl DLZ module with Clang against Perl older than version 5.35.2. -clang:bullseye:amd64: +clang:bookworm:amd64: variables: BUILD_CONTRIB: 1 CC: ${CLANG} @@ -1207,27 +1207,27 @@ clang:bullseye:amd64: # See https://gitlab.isc.org/isc-projects/bind9/-/issues/3444 EXTRA_CONFIGURE: "--without-jemalloc" RUN_MAKE_INSTALL: 1 - <<: *debian_bullseye_amd64_image + <<: *debian_bookworm_amd64_image <<: *build_job -system:clang:bullseye:amd64: +system:clang:bookworm: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 + <<: *debian_bookworm_amd64_image <<: *system_test_job needs: - - job: clang:bullseye:amd64 + - job: clang:bookworm:amd64 artifacts: true -unit:clang:bullseye:amd64: - <<: *debian_bullseye_amd64_image +unit:clang:bookworm:amd64: + <<: *debian_bookworm_amd64_image <<: *unit_test_job needs: - - job: clang:bullseye:amd64 + - job: clang:bookworm:amd64 artifacts: true # Jobs for Clang builds on FreeBSD 12 (amd64) @@ -1403,7 +1403,7 @@ coverity: respdiff-short: <<: *respdiff_job <<: *default_triggering_rules - <<: *debian_bullseye_amd64_image + <<: *debian_bookworm_amd64_image variables: CC: gcc CFLAGS: "${CFLAGS_COMMON} -Og" @@ -1414,7 +1414,7 @@ respdiff-short: respdiff-short:asan: <<: *respdiff_job <<: *default_triggering_rules - <<: *debian_bullseye_amd64_image + <<: *debian_bookworm_amd64_image variables: CC: gcc CFLAGS: "${CFLAGS_COMMON} -Og -fsanitize=address,undefined" @@ -1427,7 +1427,7 @@ respdiff-short:asan: respdiff-short:tsan: <<: *respdiff_job <<: *default_triggering_rules - <<: *tsan_debian_bullseye_amd64_image + <<: *tsan_debian_bookworm_amd64_image variables: CC: gcc CFLAGS: "${CFLAGS_COMMON} -Og -fsanitize=thread" @@ -1444,7 +1444,7 @@ respdiff-short:tsan: respdiff-long: <<: *respdiff_job <<: *api_schedules_tags_triggers_web_triggering_rules - <<: *respdiff_debian_bullseye_amd64_image + <<: *respdiff_debian_bookworm_amd64_image variables: CC: gcc CFLAGS: "${CFLAGS_COMMON} -Og" @@ -1455,7 +1455,7 @@ respdiff-long: respdiff-long:asan: <<: *respdiff_job <<: *api_schedules_tags_triggers_web_triggering_rules - <<: *debian_bullseye_amd64_image + <<: *debian_bookworm_amd64_image variables: CC: gcc CFLAGS: "${CFLAGS_COMMON} -Og -fsanitize=address,undefined" @@ -1468,7 +1468,7 @@ respdiff-long:asan: respdiff-long:tsan: <<: *respdiff_job <<: *api_schedules_tags_triggers_web_triggering_rules - <<: *tsan_debian_bullseye_amd64_image + <<: *tsan_debian_bookworm_amd64_image variables: CC: gcc CFLAGS: "${CFLAGS_COMMON} -Og -fsanitize=thread" @@ -1485,7 +1485,7 @@ respdiff-long:tsan: respdiff-long-third-party: <<: *respdiff_job <<: *api_schedules_tags_triggers_web_triggering_rules - <<: *debian_bullseye_amd64_image + <<: *debian_bookworm_amd64_image variables: CC: gcc CFLAGS: "${CFLAGS_COMMON} -Og" @@ -1658,7 +1658,7 @@ gcov: <<: *default_triggering_rules stage: postcheck needs: - - job: system:gcc:bullseye:amd64 + - job: system:gcc:bookworm:amd64 artifacts: true script: # *.gcno and *.gcda files generated for shared library objects are created diff --git a/doc/arm/platforms.inc.rst b/doc/arm/platforms.inc.rst index 0d6c405ac5..8bbcfa2079 100644 --- a/doc/arm/platforms.inc.rst +++ b/doc/arm/platforms.inc.rst @@ -45,7 +45,7 @@ Regularly Tested Platforms Current versions of BIND 9 are fully supported and regularly tested on the following systems: -- Debian 10, 11 +- Debian 10, 12 - Ubuntu LTS 18.04, 20.04, 22.04 - Fedora 38 - Red Hat Enterprise Linux / CentOS / Oracle Linux 7, 8, 9 diff --git a/doc/arm/requirements.txt b/doc/arm/requirements.txt index 3b12ea86fb..b1b322dff5 100644 --- a/doc/arm/requirements.txt +++ b/doc/arm/requirements.txt @@ -1,5 +1,5 @@ # Make Read the Docs use the exact same package versions as in -# registry.gitlab.isc.org/isc-projects/images/bind9:debian-bullseye-amd64 +# registry.gitlab.isc.org/isc-projects/images/bind9:debian-bookworm-amd64 Sphinx==6.1.3 docutils==0.18.1 sphinx_rtd_theme==1.2.0 From 84911e693b675471cd55a7571c2003443a87f20e Mon Sep 17 00:00:00 2001 From: Michal Nowak Date: Mon, 24 Jul 2023 16:55:20 +0200 Subject: [PATCH 2/7] Reintroduce Debian 11 "bullseye" Clang and GCC jobs (cherry picked from commit 5e1120d9a3774f31c57ff7e24dfaf9117cdb208a) --- .gitlab-ci.yml | 57 +++++++++++++++++++++++++++++++++++++++ doc/arm/platforms.inc.rst | 2 +- 2 files changed, 58 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5e315a8e10..213ad2a8da 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -150,6 +150,10 @@ stages: image: "$CI_REGISTRY_IMAGE:debian-buster-amd64" <<: *linux_amd64 +.debian-bullseye-amd64: &debian_bullseye_amd64_image + image: "$CI_REGISTRY_IMAGE:debian-bullseye-amd64" + <<: *linux_amd64 + .respdiff-debian-bookworm-amd64: &respdiff_debian_bookworm_amd64_image image: "$CI_REGISTRY_IMAGE:debian-bookworm-amd64" <<: *linux_respdiff_amd64 @@ -1195,6 +1199,59 @@ 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" + # See https://gitlab.isc.org/isc-projects/bind9/-/issues/3444 + EXTRA_CONFIGURE: "--without-jemalloc" + <<: *debian_bullseye_amd64_image + <<: *build_job + +system:clang: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: 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}" + EXTRA_CONFIGURE: "--with-libidn2" + <<: *debian_bullseye_amd64_image + <<: *build_job + +system:gcc:bullseye:amd64: + <<: *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) # The -Wno-compound-token-split-by-macro option prevents warning when compiling # Perl DLZ module with Clang against Perl older than version 5.35.2. diff --git a/doc/arm/platforms.inc.rst b/doc/arm/platforms.inc.rst index 8bbcfa2079..c3f6242659 100644 --- a/doc/arm/platforms.inc.rst +++ b/doc/arm/platforms.inc.rst @@ -45,7 +45,7 @@ Regularly Tested Platforms Current versions of BIND 9 are fully supported and regularly tested on the following systems: -- Debian 10, 12 +- Debian 10, 11, 12 - Ubuntu LTS 18.04, 20.04, 22.04 - Fedora 38 - Red Hat Enterprise Linux / CentOS / Oracle Linux 7, 8, 9 From 23a45b83f6b8da855d3b194d1d02ea9b82c2ba26 Mon Sep 17 00:00:00 2001 From: Michal Nowak Date: Mon, 24 Jul 2023 17:04:01 +0200 Subject: [PATCH 3/7] Drop unneeded -Wno-compound-token-split-by-macro option Debian 12 has Perl 5.36 and the option is no longer needed. (cherry picked from commit a330ab221eab28809efa9b4b82c0819719902511) --- .gitlab-ci.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 213ad2a8da..7a5903fb68 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1253,14 +1253,12 @@ unit:gcc:bullseye:amd64: artifacts: true # Jobs for Clang builds on Debian 12 "bookworm" (amd64) -# The -Wno-compound-token-split-by-macro option prevents warning when compiling -# Perl DLZ module with Clang against Perl older than version 5.35.2. clang:bookworm:amd64: variables: BUILD_CONTRIB: 1 CC: ${CLANG} - CFLAGS: "${CFLAGS_COMMON} -Wenum-conversion -Wno-compound-token-split-by-macro" + CFLAGS: "${CFLAGS_COMMON} -Wenum-conversion" # See https://gitlab.isc.org/isc-projects/bind9/-/issues/3444 EXTRA_CONFIGURE: "--without-jemalloc" RUN_MAKE_INSTALL: 1 From 10458a419f7490d73af8ea19273b37cae2ccb6e8 Mon Sep 17 00:00:00 2001 From: Michal Nowak Date: Mon, 24 Jul 2023 17:08:07 +0200 Subject: [PATCH 4/7] Disable mandoc stylistic warning We are not concerned by the "input text line longer than 80 bytes" stylistic warning. (cherry picked from commit 79291682954cdad10ab97e8b182ad26cd310ddb7) --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7a5903fb68..1c96c180b2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -509,7 +509,7 @@ cross-version-config-tests: - *configure - make -j${BUILD_PARALLEL_JOBS:-1} -k doc V=1 - qpdf --check doc/arm/_build/latex/Bv9ARM.pdf - - 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" ) + - 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" ) .respdiff: &respdiff_job stage: system From 405888dc8b5326fbe1858f779e2826b761fbb1fa Mon Sep 17 00:00:00 2001 From: Michal Nowak Date: Mon, 24 Jul 2023 17:17:54 +0200 Subject: [PATCH 5/7] Drop PKCS11 testing from "sid", resore it on "clang:bookworm" The gcc:sid:amd64 job was used to test PKCS11 via the OpenSSL engine API but is now designated for future PKCS11 testing via the provider API. The ability to use PKCS11 via engine API in clang:bookworm:amd64 has been restored using only deprecated APIs in OpenSSL 3. (cherry picked from commit cfb06dabfe877f0760ad5bd522bf8c7e2b7ad323) --- .gitlab-ci.yml | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1c96c180b2..fabef6d393 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -886,20 +886,13 @@ scan-build: gcc:sid:amd64: variables: CC: gcc - CFLAGS: "${CFLAGS_COMMON} -O3 -DOPENSSL_API_COMPAT=10100" - # For the jemalloc ./configure option, see https://gitlab.isc.org/isc-projects/bind9/-/issues/3444 - EXTRA_CONFIGURE: "--with-libidn2 --without-lmdb --without-jemalloc ${WITH_READLINE}" + CFLAGS: "${CFLAGS_COMMON} -O3" + EXTRA_CONFIGURE: "--with-libidn2 --without-lmdb ${WITH_READLINE}" RUN_MAKE_INSTALL: 1 <<: *debian_sid_amd64_image <<: *build_job system:gcc:sid: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_sid_amd64_image <<: *system_test_job needs: @@ -1258,7 +1251,7 @@ clang:bookworm:amd64: variables: BUILD_CONTRIB: 1 CC: ${CLANG} - CFLAGS: "${CFLAGS_COMMON} -Wenum-conversion" + CFLAGS: "${CFLAGS_COMMON} -Wenum-conversion -DOPENSSL_API_COMPAT=10100" # See https://gitlab.isc.org/isc-projects/bind9/-/issues/3444 EXTRA_CONFIGURE: "--without-jemalloc" RUN_MAKE_INSTALL: 1 From ed09a82d18f1e73d1f5227085d0406b7780fc137 Mon Sep 17 00:00:00 2001 From: Michal Nowak Date: Mon, 24 Jul 2023 17:30:35 +0200 Subject: [PATCH 6/7] Drop unnecessary gcovr workarounds Many problems of the Debian 11 gcovr version were fixed in the Debian 12 one. Replace workarounds we accumulated over the years with two new, simple ones. (cherry picked from commit 55f5aa08f0371afeb1e5292dffe56246ffdbb6ee) --- .gitlab-ci.yml | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fabef6d393..695cc09800 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1709,31 +1709,24 @@ gcov: - job: system:gcc:bookworm:amd64 artifacts: true script: - # *.gcno and *.gcda files generated for shared library objects are created - # in directories in which gcovr is unable to process them properly - # (.../.libs/...). Move such *.gcno and *.gcda files one level higher. - - find . -regex ".*/\.libs/.*\.\(gcda\|gcno\)" -execdir mv "{}" .. \; - # Help gcovr process the nasty tricks in lib/dns/code.h, where we include C - # source files from lib/dns/rdata/*/, using an even nastier trick. - - find lib/dns/rdata/* -name "*.c" -execdir cp -f "{}" ../../ \; - # Help gcovr process inline functions in headers by copying all libdns and - # libisc headers to lib/{dns,isc,ns}/. - - for SRC in dns isc; do for DST in dns isc ns; do cp -f "lib/${SRC}/include/${SRC}"/*.h "lib/${DST}/"; done; done - - find bin lib -maxdepth 1 -mindepth 1 -type d -exec cp -f lib/isc/include/isc/buffer.h "{}" \; - - cp -f lib/isc/include/isc/buffer.h lib/isc/netmgr/buffer.h - # Help gcovr find dlz_dbi.c file - - for DST in ldap mysql mysqldyn sqlite3 wildcard; do cp contrib/dlz/modules/common/dlz_dbi.c "contrib/dlz/modules/${DST}"; done + # Ensure gcov files for unit tests are found via tests/ rather than + # lib/*/tests/ to prevent confusing gcovr. + - find lib/ -name tests -type l -delete + # The "a-conftest.gcno" file is result of the ./configure step and + # should be removed as it does not belong to the BIND 9 code base. + - rm a-conftest.gcno # Generate XML file in the Cobertura XML format suitable for use by GitLab # for the purpose of displaying code coverage information in the diff view # of a given merge request. - - gcovr --root . --exclude-directories bin/tests --exclude-directories doc --exclude-directories fuzz --exclude-directories lib/samples --exclude tests --xml -o coverage.xml - - gcovr --root . --exclude-directories bin/tests --exclude-directories doc --exclude-directories fuzz --exclude-directories lib/samples --exclude tests --html-details -o coverage.html - - gcovr --root . --exclude-directories bin/tests --exclude-directories doc --exclude-directories fuzz --exclude-directories lib/samples --exclude tests -o coverage.txt + - gcovr --exclude-directories bin/tests --exclude-directories doc --exclude-directories fuzz --exclude tests --cobertura-pretty -o coverage.xml + - gcovr --exclude-directories bin/tests --exclude-directories doc --exclude-directories fuzz --exclude tests --html-details -o coverage.html + - gcovr --exclude-directories bin/tests --exclude-directories doc --exclude-directories fuzz --exclude tests --txt -o coverage.txt - tail -n 3 coverage.txt coverage: /^TOTAL.*\s+(\d+\%)$/ artifacts: paths: - coverage*.html + - coverage.css - coverage.txt - coverage.xml reports: From a5daf67a60b98325540c4979d669d68ca4d8f36e Mon Sep 17 00:00:00 2001 From: Michal Nowak Date: Wed, 9 Aug 2023 21:13:30 +0200 Subject: [PATCH 7/7] Move clang:bullseye PKCS11 testing to gcc:bullseye Move clang:bullseye:amd64 PKCS11 testing to the gcc:bullseye:amd64 job to evenly represent compilers in PKCS11 testing. (cherry picked from commit 077d82403ee029619c744e956c62bdea173de00d) --- .gitlab-ci.yml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 695cc09800..93430ab53a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1198,18 +1198,10 @@ clang:bullseye:amd64: variables: CC: ${CLANG} CFLAGS: "${CFLAGS_COMMON} -Wenum-conversion" - # See https://gitlab.isc.org/isc-projects/bind9/-/issues/3444 - EXTRA_CONFIGURE: "--without-jemalloc" <<: *debian_bullseye_amd64_image <<: *build_job system:clang: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: @@ -1227,11 +1219,18 @@ gcc:bullseye:amd64: variables: CC: gcc CFLAGS: "${CFLAGS_COMMON}" - EXTRA_CONFIGURE: "--with-libidn2" + # 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: