]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Fix .respdiff-recent-named anchor to work when the ABI changes
authorŠtěpán Balážik <stepan@isc.org>
Mon, 2 Mar 2026 14:54:53 +0000 (15:54 +0100)
committerŠtěpán Balážik <stepan@isc.org>
Tue, 3 Mar 2026 06:58:04 +0000 (07:58 +0100)
Previously, on 9.20 and 9.18, both builds (reference and the version
being tested) would use the same .so files which lead to a crash if the
ABI changed.

Use `git worktree` to get completely separate build environment for the
reference version.

This is not a problem on 9.21 as Meson is smart and covers this mistake,
but apply the fix to it as well for consistency.

(cherry picked from commit a719341314d5fdc0a7b61082aea2fac6db26a8b6)

.gitlab-ci.yml

index c94fd5632ef676942e07d7a9de7d619573e579a1..82bf94b216ab77aefa324da218ef2d0ebd734c8b 100644 (file)
@@ -2250,22 +2250,20 @@ respdiff-third-party:
 .respdiff-recent-named: &respdiff_recent_named
   <<: *respdiff_job
   <<: *base_image
-  allow_failure: true #GL!11355
   needs:
     - job: ci-variables
       artifacts: true
   script:
     - cd ${CI_PROJECT_DIR}
-    - mkdir version-under-test
-    - cp -ar bin version-under-test/
     - BASELINE=${CI_MERGE_REQUEST_TARGET_BRANCH_NAME:-$BIND_BASELINE_VERSION}
     - git fetch --unshallow origin ${BASELINE}
-    - git checkout FETCH_HEAD
+    - git worktree add baseline-build FETCH_HEAD
+    - cd baseline-build
     - autoreconf -fi
     - *configure
     - make -j${BUILD_PARALLEL_JOBS:-1} V=1
     - cd "$CI_PROJECT_DIR"/bind9-qa/respdiff
-    - bash respdiff.sh -s named -q "${PWD}/100k_mixed.txt" -c 3 -w "${PWD}/rspworkdir" "${CI_PROJECT_DIR}/version-under-test" "${CI_PROJECT_DIR}/bin/named/named"
+    - bash respdiff.sh -s named -q "${PWD}/100k_mixed.txt" -c 3 -w "${PWD}/rspworkdir" "${CI_PROJECT_DIR}" "${CI_PROJECT_DIR}/baseline-build/bin/named/named"
 
 respdiff:recent-named:
   <<: *respdiff_recent_named