git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 3/3] Add additional CI jobs to avoid accidental breakage

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Oct 31, 2024, 23:49 UTC
Message-ID
<20241031234934.3451390-4-sandals@crustytoothpaste.net>
In-Reply-To
<20241031234934.3451390-1-sandals@crustytoothpaste.net>

In general, we'd like to make sure Git works on the LTS versions of major Linux distributions. To do that, let's add CI jobs for the oldest regular (non-extended) LTS versions of the major distributions: Ubuntu 20.04, Debian 11, and RHEL 8. Because RHEL isn't available to the public at no charge, use AlmaLinux, which is binary compatible with it.

Note that Debian does not offer the language-pack packages, but suitable locale support can be installed with the locales-all package. Otherwise, use the set of installation instructions which exist and are most similar to the existing supported distros.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
---
 .github/workflows/main.yml |  9 +++++++++
 ci/install-dependencies.sh | 14 ++++++++++----
 2 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 9301a1edd6..808ddc19b8 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -342,12 +342,21 @@ jobs:
         - jobname: linux-musl
           image: alpine
           distro: alpine-latest
+        # Supported until 2025-04-02.
         - jobname: linux32
           image: i386/ubuntu:focal
           distro: ubuntu32-20.04
         - jobname: pedantic
           image: fedora
           distro: fedora-latest
+        # A RHEL 8 compatible distro.  Supported until 2029-05-31.
+        - jobname: almalinux-8
+          image: almalinux:8
+          distro: almalinux-8
+        # Supported until 2026-08-31.
+        - jobname: debian-11
+          image: debian:11
+          distro: debian-11
     env:
       jobname: ${{matrix.vector.jobname}}
       distro: ${{matrix.vector.distro}}
diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh
index d30ae53a18..d020cb7aa5 100755
--- a/ci/install-dependencies.sh
+++ b/ci/install-dependencies.sh
@@ -29,26 +29,32 @@ alpine-*)
 		apache2 apache2-http2 apache2-proxy apache2-ssl apache2-webdav apr-util-dbd_sqlite3 \
 		bash cvs gnupg perl-cgi perl-dbd-sqlite perl-io-tty >/dev/null
 	;;
-fedora-*)
+fedora-*|almalinux-*)
 	dnf -yq update >/dev/null &&
 	dnf -yq install make gcc findutils diffutils perl python3 gettext zlib-devel expat-devel openssl-devel curl-devel pcre2-devel >/dev/null
 	;;
-ubuntu-*|ubuntu32-*)
+ubuntu-*|ubuntu32-*|debian-*)
 	# Required so that apt doesn't wait for user input on certain packages.
 	export DEBIAN_FRONTEND=noninteractive
 
 	case "$distro" in
 	ubuntu-*)
 		SVN='libsvn-perl subversion'
+		LANGUAGES='language-pack-is'
+		;;
+	ubuntu32-*)
+		SVN=
+		LANGUAGES='language-pack-is'
 		;;
 	*)
-		SVN=
+		SVN='libsvn-perl subversion'
+		LANGUAGES='locales-all'
 		;;
 	esac
 
 	sudo apt-get -q update
 	sudo apt-get -q -y install \
-		language-pack-is apache2 cvs cvsps git gnupg $SVN \
+		$LANGUAGES apache2 cvs cvsps git gnupg $SVN \
 		make libssl-dev libcurl4-openssl-dev libexpat-dev wget sudo default-jre \
 		tcl tk gettext zlib1g-dev perl-modules liberror-perl libauthen-sasl-perl \
 		libemail-valid-perl libio-pty-perl libio-socket-ssl-perl libnet-smtp-ssl-perl libdbd-sqlite3-perl libcgi-pm-perl \
Previous: brian m. carlsonNext: brian m. carlson
Message 3 of 8 in “Improve CI testing of older systems”
  1. 0/3 Improve CI testing of older systemsbrian m. carlson, Oct 31, 2024
  2. 1/3 gitlab-ci: switch from Ubuntu 16.04 to 20.04brian m. carlson, Oct 31, 2024
  3. 3/3 Add additional CI jobs to avoid accidental breakagebrian m. carlson, Oct 31, 2024
  4. 2/3 ci: remove clause for Ubuntu 16.04brian m. carlson, Oct 31, 2024
  5. Junio C HamanoNov 1, 2024
  6. brian m. carlsonNov 1, 2024
  7. Junio C HamanoNov 1, 2024
  8. Patrick SteinhardtNov 4, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.