ci: work around a problem with HTTP/2 vs libcurl v8.10.0

As reported in https://lore.kernel.org/git/ZuPKvYP9ZZ2mhb4m@pks.im/,
libcurl v8.10.0 had a regression that was picked up by Git's t5559.30
"large fetch-pack requests can be sent using chunked encoding".

This bug was fixed in libcurl v8.10.1.

Sadly, the macos-13 runner image was updated in the brief window between
these two libcurl versions, breaking each and every CI build, as
reported at https://github.com/git-for-windows/git/issues/5159.

This would usually not matter, we would just ignore the failing CI
builds until the macos-13 runner image is rebuilt in a couple of days,
and then the CI builds would succeed again.

However.

As has become the custom, a surprise Git version was released, and now
that Git for Windows wants to follow suit, since Git for Windows has
this custom of trying to never release a version with a failing CI
build, we _must_ work around it.

This patch implements this work-around, basically for the sake of Git
for Windows v2.46.2's CI build.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
Johannes Schindelin 2024-09-24 08:47:39 +02:00
parent d74db2d801
commit c8050f6ae5

View File

@ -413,7 +413,15 @@ test_expect_success CMDLINE_LIMIT \
) )
' '
test_expect_success 'large fetch-pack requests can be sent using chunked encoding' ' # This is a temporary work-around for libcurl v8.10.0 on the macos-* runners;
# see https://github.com/git-for-windows/git/issues/5159 for full details
test_lazy_prereq UNBROKEN_HTTP2 '
test "$HTTP_PROTO" = HTTP/2 &&
test -z "$(brew info -q curl 2>/dev/null |
sed -n "/^Installed/{N;s/.*8\\.10\\.0.*/BROKEN HTTP2/p;}")"
'
test_expect_success UNBROKEN_HTTP2 'large fetch-pack requests can be sent using chunked encoding' '
GIT_TRACE_CURL=true git -c http.postbuffer=65536 \ GIT_TRACE_CURL=true git -c http.postbuffer=65536 \
clone --bare "$HTTPD_URL/smart/repo.git" split.git 2>err && clone --bare "$HTTPD_URL/smart/repo.git" split.git 2>err &&
{ {