Skip to content

Python builds for Actions Runner Images

License

Notifications You must be signed in to change notification settings

actions/python-versions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e550a75 · Feb 12, 2025
Dec 19, 2024
Dec 12, 2024
May 19, 2023
Sep 22, 2023
Jun 13, 2024
Nov 5, 2024
Apr 29, 2020
Jul 14, 2020
Apr 29, 2020
Apr 29, 2020
Apr 29, 2020
Sep 20, 2023
Apr 29, 2020
Feb 12, 2025

Repository files navigation

Python for Actions

This repository contains the code and scripts that we use to build Python packages used in runner-images and accessible through the setup-python Action. File versions-manifest.json contains the list of available and released versions.

Caution: this is prepared for and only permitted for use by actions runner-images and setup-python action.

Some versions are pre-installed on runner-images images. More versions are available to install on-the-fly through the setup-python action.

Building installation packages

Ubuntu: The official Python sources are downloaded from python.org, built using the make tool, and archived along with the installation script for further distribution and installation. We build each Python version against all versions of Ubuntu that are available at the time the Python version is released.

macOS:

  • For Python < 3.11, the official Python sources are downloaded from python.org, built using the make tool, and archived along with the installation script for further distribution and installation. For backward compatibility, we build each Python version against the oldest version of macOS that is available at the time the Python version is released.
  • For Python >= 3.11, the official macOS universal2 Python binaries are simply downloaded from python.org and archived along with the installation script for further distribution and installation.

Windows: The official Python executables are simply downloaded from python.org and archived along with the installation script for further distribution and installation.

Support policy

We aim to make new versions of Python available as soon as they are released. Both stable and prerelease versions are considered for building and releasing. Please open an issue in actions/setup-python if a version you're looking for isn't available.

When a new version of an operating system is released and made available for use with GitHub hosted runners, we will provide the latest existing patch versions of Python for all major versions that have not reached end-of-life. Any subsequent Python versions will be made available for the new OS as well.

Beginning approximately six months prior to the removal of a Python version from the versions-manifest.json file, a pinned issue will be created in the setup-python repository. This pinned issue will provide important details about the upcoming end of support, including the specific date, as well as any other notes, relevant updates or alternatives. We encourage users to regularly check pinned issues for updates on tool versions they are using for maximum transparency, security, performance and overall compatibility with their projects.

Contribution

Contributions are welcome! See Contributor's Guide for more details about contribution process and code structure