On 24/05/06 07:35AM, Patrick Steinhardt wrote: > 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. Naive question, why were the "linux-gcc" jobs the only ones using Python 3? > > 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@xxxxxxxxx> > Signed-off-by: Patrick Steinhardt <ps@xxxxxx> > --- > > 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 With this change, "linux-gcc" jobs using ubuntu 20.04 will now use Python 2. Is that what we want? -Justin > + # 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 >