ci: fix Python dependency on Ubuntu 24.04

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 <jltobler@gmail.com> Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Patrick Steinhardt committed May 6, 2024 at 07:35 UTC 5ca0c455f1d020156dc352a209fb1a3a6e548e3d
1 file changed +6 -2
ci/lib.sh
+6 -2
@@ -325,9 +325,13 @@ ubuntu-*)
325 break
326 fi
327
328 - PYTHON_PACKAGE=python2
329 - if test "$jobname" = linux-gcc
328 + # Python 2 is end of life, and Ubuntu 23.04 and newer don't actually
329 + # have it anymore. We thus only test with Python 2 on older LTS
330 + # releases.
331 + if "$distro" = "ubuntu-20.04"
332 then
333 + PYTHON_PACKAGE=python2
334 + else
335 PYTHON_PACKAGE=python3
336 fi
337 MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=/usr/bin/$PYTHON_PACKAGE"