git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Patrick Steinhardt <ps@pks.im>
To: git@vger.kernel.org
Cc: Jeff King <peff@peff.net>, Junio C Hamano <gitster@pobox.com>
Subject: [PATCH 5/4] ci: add Ubuntu 16.04 job to GitLab CI
Date: Fri, 13 Sep 2024 07:52:51 +0200	[thread overview]
Message-ID: <00a9fe6b7d77c16c9fd6dfe746aacf9068a76942.1726206484.git.ps@pks.im> (raw)
In-Reply-To: <20240912094238.GA589050@coredump.intra.peff.net>

In the preceding commits we had to convert the linux32 job to be based
on Ubuntu 20.04 instead of Ubuntu 16.04 due to a limitation in GitHub
Workflows. This was the only job left that still tested against this old
but supported Ubuntu version, and we have no other jobs that test with a
comparatively old Linux distribution.

Add a new job to GitLab CI that tests with Ubuntu 16.04 to cover the
resulting test gap. GitLab doesn't modify Docker images in the same way
GitHub does and thus doesn't fall prey to the same issue. There are two
compatibility issues uncovered by this:

  - Ubuntu 16.04 does not support HTTP/2 in Apache. We thus cannot set
    `GIT_TEST_HTTPD=true`, which would otherwise cause us to fail when
    Apache fails to start.

  - Ubuntu 16.04 cannot use recent JGit versions as they depend on a
    more recent Java runtime than we have available. We thus disable
    installing any kind of optional dependencies that do not come from
    the package manager.

These two restrictions are fine though, as we only really care about
whether Git compiles and runs on such old distributions in the first
place.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
---

Test runs of this can be found at [1]. Note that the Alpine Linux jobs
fail, due to an upstream regression in libcurl [2].

[1]: https://gitlab.com/gitlab-org/git/-/merge_requests/210
[2]: <ZuPKvYP9ZZ2mhb4m@pks.im>

 .gitlab-ci.yml             | 3 +++
 ci/install-dependencies.sh | 5 +++++
 ci/lib.sh                  | 9 ++++++++-
 3 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 2589098eff7..80b1668ebeb 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -25,6 +25,9 @@ test:linux:
       fi
   parallel:
     matrix:
+      - jobname: linux-old
+        image: ubuntu:16.04
+        CC: gcc
       - jobname: linux-sha256
         image: ubuntu:latest
         CC: clang
diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh
index 735ee6f4639..08656a15308 100755
--- a/ci/install-dependencies.sh
+++ b/ci/install-dependencies.sh
@@ -55,6 +55,11 @@ ubuntu-*|ubuntu32-*)
 		${CC_PACKAGE:-${CC:-gcc}} $PYTHON_PACKAGE
 
 	case "$distro" in
+	ubuntu-16.04)
+		# Does not support JGit, but we also don't really care about
+		# the others. We rather care whether Git still compiles and
+		# runs fine overall.
+		;;
 	ubuntu-*)
 		mkdir --parents "$CUSTOM_PATH"
 
diff --git a/ci/lib.sh b/ci/lib.sh
index 51f8f59a296..74b430be238 100755
--- a/ci/lib.sh
+++ b/ci/lib.sh
@@ -336,7 +336,14 @@ ubuntu-*)
 	fi
 	MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=/usr/bin/$PYTHON_PACKAGE"
 
-	export GIT_TEST_HTTPD=true
+	case "$distro" in
+	ubuntu-16.04)
+		# Apache is too old for HTTP/2.
+		;;
+	*)
+		export GIT_TEST_HTTPD=true
+		;;
+	esac
 
 	# The Linux build installs the defined dependency versions below.
 	# The OS X build installs much more recent versions, whichever

base-commit: f33406dbcc16e699be71aa4982133c325838ae1b
-- 
2.46.0.551.gc5ee8f2d1c.dirty


  parent reply	other threads:[~2024-09-13  5:52 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-09 23:00 [PATCH] ci: remove 'Upload failed tests' directories' step from linux32 jobs Junio C Hamano
2024-09-11 22:32 ` Junio C Hamano
2024-09-12  7:56   ` Jeff King
2024-09-12  8:00     ` Jeff King
2024-09-12  9:42       ` [PATCH 0/4] make linux32 ci job work with recent actions Jeff King
2024-09-12  9:43         ` [PATCH 1/4] ci: drop run-docker scripts Jeff King
2024-09-12 10:40           ` Patrick Steinhardt
2024-09-12  9:45         ` [PATCH 2/4] ci: unify ubuntu and ubuntu32 dependencies Jeff King
2024-09-12 10:41           ` Patrick Steinhardt
2024-09-12  9:47         ` [PATCH 3/4] ci: use more recent linux32 image Jeff King
2024-09-12 10:41           ` Patrick Steinhardt
2024-09-12 11:22             ` Jeff King
2024-09-12 11:53               ` Patrick Steinhardt
2024-09-12 12:47                 ` Patrick Steinhardt
2024-09-13  4:55                   ` Jeff King
2024-09-13  5:39                     ` Patrick Steinhardt
2024-09-12  9:48         ` [PATCH 4/4] ci: use regular action versions for linux32 job Jeff King
2024-09-12 19:41         ` [PATCH 0/4] make linux32 ci job work with recent actions Junio C Hamano
2024-09-13  5:52         ` Patrick Steinhardt [this message]
2024-09-13  6:21           ` [PATCH 5/4] ci: add Ubuntu 16.04 job to GitLab CI Jeff King
2024-09-13  6:39             ` Patrick Steinhardt
2024-09-13  6:43               ` Jeff King
2024-09-13  6:47                 ` Patrick Steinhardt
2024-09-13 16:17             ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=00a9fe6b7d77c16c9fd6dfe746aacf9068a76942.1726206484.git.ps@pks.im \
    --to=ps@pks.im \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=peff@peff.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).