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

[PATCH 3/4] ci: use more recent linux32 image

From
Jeff King <peff@peff.net>
Date
Sep 12, 2024, 09:47 UTC
Message-ID
<20240912094730.GC589828@coredump.intra.peff.net>
In-Reply-To
<20240912094238.GA589050@coredump.intra.peff.net>

The Xenial image we're using was released more than 8 years ago. This is a problem for using some recent GitHub Actions scripts, as they require Node.js 20, and all of the binaries they ship need glibc 2.28 or later. We're not using them yet, but moving forward prepares us for a future patch which will.

Xenial was actually the last official 32-bit Ubuntu release, but you can still find i386 images for more recent releases. This patch uses Focal, which was released in 2020 (and is the oldest one with glibc 2.28).

There are two small downsides here:
  - while Xenial is pretty old, it is still in LTS support until April
    2026. So there's probably some value in testing with such an old
    system, and we're losing that.
  - there are no i386 subversion packages in the Focal repository. So we
    won't be able to test that (OTOH, we had never tested it until the
    previous patch which unified the 32/64-bit dependency code).
Signed-off-by: Jeff King <peff@peff.net>
---
 .github/workflows/main.yml |  4 ++--
 ci/install-dependencies.sh | 11 ++++++++++-
 2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 97f9b06310..db8e8f75a4 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -339,8 +339,8 @@ jobs:
           image: alpine
           distro: alpine-latest
         - jobname: linux32
-          image: daald/ubuntu32:xenial
-          distro: ubuntu32-16.04
+          image: i386/ubuntu:focal
+          distro: ubuntu32-20.04
         - jobname: pedantic
           image: fedora
           distro: fedora-latest
diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh
index 00cb7df67a..735ee6f463 100755
--- a/ci/install-dependencies.sh
+++ b/ci/install-dependencies.sh
@@ -37,9 +37,18 @@ ubuntu-*|ubuntu32-*)
 	# 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'
+		;;
+	*)
+		SVN=
+		;;
+	esac
+
 	sudo apt-get -q update
 	sudo apt-get -q -y install \
-		language-pack-is libsvn-perl apache2 cvs cvsps git gnupg subversion \
+		language-pack-is 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 \
-- 
2.46.0.918.gab30941bff
Previous: Patrick SteinhardtNext: Patrick Steinhardt
Message 10 of 24 in “ci: remove 'Upload failed tests' directories' step from linux32 jobs”
  1. ci: remove 'Upload failed tests' directories' step from linux32 jobsJunio C Hamano, Sep 9, 2024
  2. Junio C HamanoSep 11, 2024
  3. Jeff KingSep 12, 2024
  4. Jeff KingSep 12, 2024
  5. 0/4 make linux32 ci job work with recent actionsJeff King, Sep 12, 2024
  6. 1/4 ci: drop run-docker scriptsJeff King, Sep 12, 2024
  7. Patrick SteinhardtSep 12, 2024
  8. 2/4 ci: unify ubuntu and ubuntu32 dependenciesJeff King, Sep 12, 2024
  9. Patrick SteinhardtSep 12, 2024
  10. 3/4 ci: use more recent linux32 imageJeff King, Sep 12, 2024
  11. Patrick SteinhardtSep 12, 2024
  12. Jeff KingSep 12, 2024
  13. Patrick SteinhardtSep 12, 2024
  14. Patrick SteinhardtSep 12, 2024
  15. Jeff KingSep 13, 2024
  16. Patrick SteinhardtSep 13, 2024
  17. 4/4 ci: use regular action versions for linux32 jobJeff King, Sep 12, 2024
  18. Junio C HamanoSep 12, 2024
  19. 5/4 ci: add Ubuntu 16.04 job to GitLab CIPatrick Steinhardt, Sep 13, 2024
  20. Jeff KingSep 13, 2024
  21. Patrick SteinhardtSep 13, 2024
  22. Jeff KingSep 13, 2024
  23. Patrick SteinhardtSep 13, 2024
  24. Junio C HamanoSep 13, 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.