Fix .respdiff-recent-named anchor to work when the ABI changes

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 a719341314)
This commit is contained in:
Štěpán Balážik 2026-03-02 15:54:53 +01:00
parent 819fe45274
commit 36c56f0d90

View 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