On Thu, Sep 12, 2024 at 02:47:38PM +0200, Patrick Steinhardt wrote: > On Thu, Sep 12, 2024 at 01:53:00PM +0200, Patrick Steinhardt wrote: > > On Thu, Sep 12, 2024 at 07:22:42AM -0400, Jeff King wrote: > > > On Thu, Sep 12, 2024 at 12:41:03PM +0200, Patrick Steinhardt wrote: > > And with that the [fixed] pipeline builds and executes our tests just > > fine. I didn't wait for tests to finish though. > > > > Patrick > > > > [here]: https://gitlab.com/gitlab-org/git/-/merge_requests/210 > > [first]: https://gitlab.com/gitlab-org/git/-/jobs/7808775485 > > [fixed]: https://gitlab.com/gitlab-org/git/-/jobs/7808836999 > > Most of the tests pass, except for t5559. Seems like it doesn't have > mod_http2. Maybe its Apache version is too old, or it needs to be > installed separately. Yeah, according to "apt-file", there's no package which contains mod_http2.so. t5559 is supposed to notice that during webserver setup and just skip the script. Poking at it myself in a xenial container, I think it does do so correctly. So that's good. But the CI environment switches GIT_TEST_HTTPD from "auto" to "true", turning a setup failure into an error. This is overall a good thing (since we'd notice if our apache setup breaks), but obviously is wrong here. Unfortunately we don't have a knob just for http2. So the best we can do is something like (might be whitespace-damaged, I just pasted it out of a container session): diff --git a/ci/lib.sh b/ci/lib.sh index 51f8f59..0514f6a 100755 --- a/ci/lib.sh +++ b/ci/lib.sh @@ -336,7 +336,15 @@ ubuntu-*) fi MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=/usr/bin/$PYTHON_PACKAGE" - export GIT_TEST_HTTPD=true + case "$distro" in + ubuntu-16.04) + # too old for http/2 + export GIT_TEST_HTTPD=auto + ;; + *) + export GIT_TEST_HTTPD=yes + ;; + esac # The Linux build installs the defined dependency versions below. # The OS X build installs much more recent versions, whichever That would still run the regular tests, and just turn the http2 failure into a "skip". But it does make me nervous that we'd break something for the non-http2 tests on that old platform and never realize it. So maybe we need a GIT_TEST_HTTP2 knob that defaults to the value of GIT_TEST_HTTPD. And then we can turn it off for 16.04, leave the regular one as "yes". I assume you're collecting a few patches to make your new xenial job work. I think what I suggested above should be pretty easy to implement, but let me know if you'd like me to come up with something concrete. -Peff