[PATCH] ci: work around Debian 12's HTTP/2 authentication failures
From: Johannes Schindelin via GitGitGadget <hidden>
Date: 2026-09-22 23:06:16
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Johannes Schindelin <redacted> Since 00fa8502354 (ci: bump debian-11 job to debian-12, 2026-09-05), the `debian-12` job has intermittently failed t5559's half-auth clone with: curl 92 Stream error in the HTTP/2 framing layer Anonymous discovery succeeds, but the upload-pack POST requires authentication. Apache can return an early 401 and close the HTTP/2 stream before libcurl finishes sending the request body. Debian 12's curl 7.88.1 treats that closure as a transport error instead of allowing an authentication retry. Curl fixed this handling in 331b89a319d0 (http2: polish things around POST), included in 8.3.0: https://github.com/curl/curl/pull/11756 This did not happen before switching to Debian 12 because Debian 11 ships with libcurl 7.74.0-1.3+deb11u16, which does not have that bug. Replacing the packaged libcurl with a modern build would defeat this job's purpose of testing older supported distributions. So let's simply exclude the flaky t5559.15 and its dependent t5559.16 on Debian 12 until the packaged curl carries the fix (or until the end of time, whichever comes first). Assisted-by: GPT-6 Astra Signed-off-by: Johannes Schindelin <redacted> --- ci: work around Debian 12's HTTP/2 authentication failures While this is a regression in v2.56, it does not affect production code, it's just working around a flaky test. In other words: This patch does not need to be fast-tracked into v2.56.0, but it would be good to get it into master pretty soon after that, to reduce developer friction. Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2236%2Fdscho%2Fwork-around-debian-curl-stream-error-92-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2236/dscho/work-around-debian-curl-stream-error-92-v1 Pull-Request: https://github.com/gitgitgadget/git/pull/2236 ci/lib.sh | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/ci/lib.sh b/ci/lib.sh
index c6ccbf8c17..1cf31b5a2c 100755
--- a/ci/lib.sh
+++ b/ci/lib.sh@@ -334,6 +334,12 @@ pull_request,*|push,*next*|push,*master*|push,*main*|push,*maint*) esac case "$distro" in +debian-12) + # Debian 12's curl 7.88.1 mishandles early HTTP/2 responses; see + # https://github.com/curl/curl/pull/11756. Skip the half-auth + # clone and its dependent fetch until Debian has the fix. + export GIT_SKIP_TESTS="$GIT_SKIP_TESTS t5559.15 t5559.16" + ;; ubuntu-*) # Python 2 is end of life, and Ubuntu 23.04 and newer don't actually # have it anymore. We thus only test with Python 2 on older LTS
base-commit: 3bc0341126508f78f5869cbfc0005e987efdf0c7 -- gitgitgadget