]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Test development version of libuv in CI
authorŠtěpán Balážik <stepan@isc.org>
Mon, 9 Mar 2026 16:26:13 +0000 (17:26 +0100)
committerŠtěpán Balážik <stepan@isc.org>
Wed, 15 Apr 2026 13:42:24 +0000 (13:42 +0000)
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

index 4bc80c4f6ed790e454efeafb02234c2c64724ac0..b22006d0a680a9048da0ed83d3e08cb112de3f75 100644 (file)
@@ -1705,6 +1705,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: