From df1bde488c783bdbdc9d0d4c2b302b9e87aa93c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0t=C4=9Bp=C3=A1n=20Bal=C3=A1=C5=BEik?= Date: Mon, 9 Mar 2026 17:26:13 +0100 Subject: [PATCH] Test development version of libuv in CI Recently, a broken version of libuv was released breaking BIND on several platforms. The offending commit [1] was on the development branch for months, but we didn't notice. In nightly pipelines, build the current 'main' (actually 'v1.x') branch of libuv and run the unit and system tests against it. [1]: https://github.com/libuv/libuv/issues/5030 (cherry picked from commit 23d11de2b4024ab7eae3f2a2031a3ef1969b234c) --- .gitlab-ci.yml | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bdd26c0137..1b7a668c28 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1893,6 +1893,51 @@ unit:clang:freebsd15:amd64: <<: *unit_test_job <<: *freebsd_autoscaler_15_amd64_tags +# Build and run tests against the latest git version of libuv + +gcc:tumbleweed:libuv-git:amd64: + <<: *tumbleweed_latest_amd64_image + <<: *build_job + variables: + CC: gcc + CFLAGS: "${CFLAGS_COMMON} -DDEBUG" + EXTRA_CONFIGURE: "--with-libidn2 ${WITH_LIBEDIT}" + before_script: + - *list_installed_package_versions + - zypper --non-interactive rm --clean-deps libuv-devel + - git clone --depth 1 https://github.com/libuv/libuv.git /tmp/libuv + - cd /tmp/libuv + - sh autogen.sh + - ./configure --prefix="$CI_PROJECT_DIR/libuv" + - make -j"$BUILD_PARALLEL_JOBS" CFLAGS="" + - make install + - cd "$CI_PROJECT_DIR" + - export PKG_CONFIG_PATH="$CI_PROJECT_DIR/libuv/lib/pkgconfig:${PKG_CONFIG_PATH:-}" + rules: + - *rule_source_other_than_mr + +system:gcc:tumbleweed:libuv-git:amd64: + <<: *tumbleweed_latest_amd64_image + <<: *system_test_job + needs: + - job: gcc:tumbleweed:libuv-git:amd64 + artifacts: true + rules: + - *rule_source_other_than_mr + +unit:gcc:tumbleweed:libuv-git:amd64: + <<: *tumbleweed_latest_amd64_image + <<: *unit_test_job + before_script: + - bin/named/named -V > named.version + - "grep -E '^compiled with libuv version: [0-9]+\\.[0-9]+\\.[0-9]+$' named.version" + - "grep -E '^linked to libuv version: [0-9]+\\.[0-9]+\\.[0-9]+-dev$' named.version" + needs: + - job: gcc:tumbleweed:libuv-git:amd64 + artifacts: true + rules: + - *rule_source_other_than_mr + # Job producing a release directory release: