Re: [PATCH] ci: fix Python dependency on Ubuntu 24.04

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
> 






[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux