actions / runner-images

GitHub Actions runner images
MIT License
9.82k stars 3.01k forks source link

Update Python 3.10.11 on some OS'es to 3.10.14 #10485

Closed nth10sd closed 1 week ago

nth10sd commented 2 weeks ago

Tool name

Python 3.10.14

Tool license

PSF license for Python 3.10.14

Add or update?

Desired version

Python 3.10.14

Approximate size

No response

Brief description of tool

https://github.com/actions/runner-images/blob/main/images/ shows the statuses as:

Ubuntu 20.04, 22.04, 24.04: Python 3.10.14 is already a cached tool macOS 12, 13, 14: Python 3.10.14 is already a cached tool

macOS 13 ARM64, 14 ARM64: only Python 3.10.11 Windows 2019, 2022: only Python 3.10.11

Please update these to >3.10.11, as this tarfile security feature is only available in 3.10.12+.

URL for tool's homepage

No response

Provide a basic test case to validate the tool's functionality.

No response

Platforms where you need the tool

Runner images where you need the tool

Can this tool be installed during the build?

No response

Tool installation time in runtime

No response

Are you willing to submit a PR?

No response

nth10sd commented 2 weeks ago

I had looked into #4735 to see how to fill this out.

vidyasagarnimmagaddi commented 2 weeks ago

Hi @nth10sd , Thank you for bringing this issue to us. We are looking into this issue and will update you on this issue after investigating.

susmitamane commented 2 weeks ago

Hi @nth10sd ,

For MacOS-13 arm64 and MacOS-14 arm64, the latest arm64 macOS installer for 3.10 available from Python official website is 3.10.11. We do not have any arm64 installers for versions higher than this in 3.10.

Reference: https://www.python.org/downloads/release/python-31011/

Thank you.

nth10sd commented 2 weeks ago

While that makes sense, you all do have the 3.10.14 version for the following images:

Ubuntu 20.04, 22.04, 24.04 macOS 12, 13, 14 (non-ARM64)

ijunaidm commented 2 weeks ago

@nth10sd - As these above images had the 3.10.14 version available from python to be downloaded and used.

nth10sd commented 2 weeks ago

Where are those 3.10.14 version binaries from? The official Python download page is source-only and doesn't have them:

https://www.python.org/downloads/release/python-31014/

ijunaidm commented 2 weeks ago

@nth10sd - Availability of Python 3.10.14 on Different Platforms:

Python 3.10.14 is available and cached on the runner images for: Ubuntu 20.04, 22.04, 24.04 macOS 12, 13, 14 (non-ARM64)

However, it is not available for: macOS 13 ARM64, 14 ARM64 Windows Server 2019, 2022

And also the official Python website only provides Python 3.10.11 as the latest installer for ARM64 macOS and Windows platforms. This gap in available binaries means that newer versions, such as 3.10.14, are not officially released or distributed for these architectures. The runner images that already have 3.10.14 were able to use pre-built binaries available for their respective platforms (e.g., x86_64 for macOS and Ubuntu).

Plus , platforms like Ubuntu and non-ARM64 macOS, 3.10.14 binaries are available from the Python download sources, package managers, or other maintained repositories that distribute updated Python binaries.

However, the ARM64 and certain Windows Server versions do not have official 3.10.14 installers from the Python maintainers, leading to the discrepancy.

nth10sd commented 2 weeks ago

Python 3.10.14 was never released as binary for any architecture.

Just so I understand - if you get Python 3.10.14 on macOS from "Python download sources, package managers, or other maintained repositories that distribute updated Python binaries", if this includes Homebrew, then they have packages for ARM64 macOS as well:

https://formulae.brew.sh/formula/python@3.10 https://github.com/Homebrew/homebrew-core/blob/40fe3cf0a46019a5372b6a04c629fb8492766d13/Formula/p/python@3.10.rb https://formulae.brew.sh/api/formula/python@3.10.json

Homebrew is included in your runner images by default, so perhaps this is available?

For Windows, the Chocolately package manager does indeed only have the latest at 3.10.11, though there are unofficial builds at:

https://github.com/indygreg/python-build-standalone/releases

ijunaidm commented 1 week ago

@nth10sd - Unfortunately, it is not possible to replace usual installation of tool-cache tools with package manager approach for the single Python version. It will break compatibility of the image with actions/setup-python task. For the cached tools, we can only install versions provided in https://github.com/actions/python-versions to keep backward compatibility.

nth10sd commented 1 week ago

It will break compatibility of the image with actions/setup-python task. For the cached tools, we can only install versions provided in https://github.com/actions/python-versions to keep backward compatibility.

This makes sense and is the answer that I'm looking for. Thank you!