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

[PATCH] ci: fix Python dependency on Ubuntu 24.04

From
Patrick Steinhardt <ps@pks.im>
Date
May 6, 2024, 05:35 UTC
Message-ID
<cb8cefc20f373a3516695e7cbee975132553ea95.1714973381.git.ps@pks.im>

Newer versions of Ubuntu have dropped Python 2 starting with Ubuntu 23.04. By default though, our CI setups will try to use that Python version on all Ubuntu-based jobs except for the "linux-gcc" one.

We didn't notice this issue due to two reasons:
  - The "ubuntu:latest" tag always points to the latest LTS release.
    Until a few weeks ago this was Ubuntu 22.04, which still had Python
    2.
  - Our Docker-based CI jobs had their own script to install
    dependencies until 9cdeb34b96 (ci: merge scripts which install
    dependencies, 2024-04-12), where we didn't even try to install
    Python at all for many of them.

Since the CI refactorings have originally been implemented, Ubuntu 24.04 was released, and it being an LTS versions means that the "latest" tag now points to that Python-2-less version. Consequently, those jobs that use "ubuntu:latest" broke.

Address this by using Python 2 on Ubuntu 20.04, only, whereas we use Python 3 on all other Ubuntu jobs. Eventually, we should think about dropping support for Python 2 completely.

Reported-by: Justin Tobler <jtobler@gmail.com>
Signed-off-by: Patrick Steinhardt <ps@pks.im>
---
Note: this topic depends on ps/ci-test-with-jgit at 70b81fbf3c (t0612:
add tests to exercise Git/JGit reftable compatibility, 2024-04-12).
 ci/lib.sh | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/ci/lib.sh b/ci/lib.sh
index 473a2d0348..273f3540a6 100755
--- a/ci/lib.sh
+++ b/ci/lib.sh
@@ -325,9 +325,13 @@ ubuntu-*)
 		break
 	fi
 
-	PYTHON_PACKAGE=python2
-	if test "$jobname" = linux-gcc
+	# Python 2 is end of life, and Ubuntu 23.04 and newer don't actually
+	# have it anymore. We thus only test with Python 2 on older LTS
+	# releases.
+	if "$distro" = "ubuntu-20.04"
 	then
+		PYTHON_PACKAGE=python2
+	else
 		PYTHON_PACKAGE=python3
 	fi
 	MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=/usr/bin/$PYTHON_PACKAGE"

base-commit: b6db6b1598946fbf777e55ff0d187b11ff3bd21f
-- 
2.45.0
Next: Justin Tobler
Message 1 of 7 in “ci: fix Python dependency on Ubuntu 24.04”
  1. ci: fix Python dependency on Ubuntu 24.04Patrick Steinhardt, May 6, 2024
  2. Justin ToblerMay 6, 2024
  3. Patrick SteinhardtMay 6, 2024
  4. Junio C HamanoMay 6, 2024
  5. Justin ToblerMay 6, 2024
  6. Junio C HamanoMay 6, 2024
  7. Patrick SteinhardtMay 7, 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.