From: Štěpán Balážik Date: Mon, 9 Mar 2026 16:26:13 +0000 (+0100) Subject: Test development version of libuv in CI X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=23d11de2b4024ab7eae3f2a2031a3ef1969b234c;p=thirdparty%2Fbind9.git 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 --- diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a05a098b858..df14e4ed941 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1800,6 +1800,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: "-Didn=enabled ${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: + - build/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: