From 252b82f693574e884fb36dfde9371b409716a0fc Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Sat, 23 May 2026 11:05:27 +0200 Subject: [PATCH] quiche: bump cloudflare/quiche to v0.29.0, update pytest workaround Also: - drop no longer necessary quiche build workaround. - update build for boringssl's new location (since v0.29.0, it's no longer vendored) within the quiche tree. - move boringssl install dir out of quiche tree, and shorten it. Ref: https://github.com/cloudflare/quiche/issues/2277 Ref: https://github.com/cloudflare/quiche/pull/2278 Ref: #21620 Closes #21730 --- .github/workflows/http3-linux.yml | 20 +++++++++----------- tests/http/test_05_errors.py | 4 ++-- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/.github/workflows/http3-linux.yml b/.github/workflows/http3-linux.yml index 20e20fd3f6..f9f473b5df 100644 --- a/.github/workflows/http3-linux.yml +++ b/.github/workflows/http3-linux.yml @@ -52,7 +52,7 @@ env: OPENSSL_PREV_VERSION: 3.6.2 OPENSSL_PREV_SHA256: aaf51a1fe064384f811daeaeb4ec4dce7340ec8bd893027eee676af31e83a04f # renovate: datasource=github-tags depName=cloudflare/quiche versioning=semver registryUrl=https://github.com - QUICHE_VERSION: 0.24.7 + QUICHE_VERSION: 0.29.0 # renovate: datasource=github-tags depName=wolfSSL/wolfssl versioning=semver extractVersion=^v?(?.+)-stable$ registryUrl=https://github.com WOLFSSL_VERSION: 5.9.1 # renovate: datasource=github-tags depName=ngtcp2/nghttp3 versioning=semver registryUrl=https://github.com @@ -520,7 +520,7 @@ jobs: LDFLAGS: -Wl,-rpath,/home/runner/quiche/target/release PKG_CONFIG_PATH: /home/runner/nghttp2/build/lib/pkgconfig configure: >- - --with-openssl=/home/runner/quiche/quiche/deps/boringssl/src + --with-openssl=/home/runner/quiche-boringssl --with-quiche=/home/runner/quiche/target/release --with-ca-fallback --enable-unity @@ -528,7 +528,7 @@ jobs: - name: 'quiche' PKG_CONFIG_PATH: /home/runner/nghttp2/build/lib/pkgconfig:/home/runner/quiche/target/release generate: >- - -DOPENSSL_ROOT_DIR=/home/runner/quiche/quiche/deps/boringssl/src + -DOPENSSL_ROOT_DIR=/home/runner/quiche-boringssl -DUSE_QUICHE=ON -DCURL_CA_FALLBACK=ON @@ -726,19 +726,17 @@ jobs: cd ~ git clone --quiet --depth 1 --branch "${QUICHE_VERSION}" --recursive https://github.com/cloudflare/quiche cd quiche - #### Work-around https://github.com/curl/curl/issues/7927 ####### - #### See https://github.com/alexcrichton/cmake-rs/issues/131 #### - sed -i -e 's/cmake = "0.1"/cmake = "=0.1.45"/' quiche/Cargo.toml - cargo build -v --package quiche --release --features ffi,pkg-config-meta,qlog --verbose ln -s libquiche.so target/release/libquiche.so.0 - mkdir -v quiche/deps/boringssl/src/lib - find target/release \( -name libcrypto.a -o -name libssl.a \) -exec ln -vnf -- '{}' quiche/deps/boringssl/src/lib \; + cd .. + mkdir -p quiche-boringssl/lib + find quiche/target/release \( -name libcrypto.a -o -name libssl.a \) -exec ln -vnf -- '{}' quiche-boringssl/lib \; + find quiche/target/release/build/boring-sys-*/out/boringssl/src -maxdepth 1 \( -name include \) -exec ln -vsf -- '../{}' quiche-boringssl \; # include dir - # /home/runner/quiche/quiche/deps/boringssl/src/include + # /home/runner/quiche-boringssl/include # lib dir - # /home/runner/quiche/quiche/deps/boringssl/src/lib + # /home/runner/quiche-boringssl/lib - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: diff --git a/tests/http/test_05_errors.py b/tests/http/test_05_errors.py index a78b9c3746..8d82c093eb 100644 --- a/tests/http/test_05_errors.py +++ b/tests/http/test_05_errors.py @@ -43,7 +43,7 @@ class TestErrors: @pytest.mark.parametrize("proto", Env.http_protos()) def test_05_01_partial_1(self, env: Env, httpd, nghttpx, proto): if proto == 'h3' and env.curl_uses_lib('quiche') and \ - not env.curl_lib_version_at_least('quiche', '0.24.8'): + not env.curl_lib_version_at_least('quiche', '0.29.1'): pytest.skip("quiche issue #2277 not fixed") count = 1 curl = CurlClient(env=env) @@ -64,7 +64,7 @@ class TestErrors: @pytest.mark.parametrize("proto", Env.http_mplx_protos()) def test_05_02_partial_20(self, env: Env, httpd, nghttpx, proto): if proto == 'h3' and env.curl_uses_lib('quiche') and \ - not env.curl_lib_version_at_least('quiche', '0.24.8'): + not env.curl_lib_version_at_least('quiche', '0.29.1'): pytest.skip("quiche issue #2277 not fixed") count = 20 curl = CurlClient(env=env)