]> git.ipfire.org Git - thirdparty/git.git/commitdiff
ci: fix Python dependency on Ubuntu 24.04
authorPatrick Steinhardt <ps@pks.im>
Mon, 6 May 2024 05:35:17 +0000 (07:35 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 6 May 2024 19:26:46 +0000 (12:26 -0700)
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>
ci/lib.sh

index 0a73fc7bd1c2036afc3b7b9df169746133a8b537..3856c0066b245660d78cc356ad5fadc8edc0ca94 100755 (executable)
--- 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"