From a12e3a2eaaf98b2078be52c662f3d93eb17a72cb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 9 Apr 2025 11:22:45 -0500 Subject: [PATCH 1/8] Update versions-manifest (#337) Co-authored-by: Service account --- versions-manifest.json | 484 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 484 insertions(+) diff --git a/versions-manifest.json b/versions-manifest.json index f1adf6b4..d9046a7d 100644 --- a/versions-manifest.json +++ b/versions-manifest.json @@ -1,4 +1,141 @@ [ + { + "version": "3.14.0-alpha.7", + "stable": false, + "release_url": "https://github.com/actions/python-versions/releases/tag/3.14.0-alpha.7-14344100912", + "files": [ + { + "filename": "python-3.14.0-alpha.7-darwin-arm64-freethreaded.tar.gz", + "arch": "arm64-freethreaded", + "platform": "darwin", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.7-14344100912/python-3.14.0-alpha.7-darwin-arm64-freethreaded.tar.gz" + }, + { + "filename": "python-3.14.0-alpha.7-darwin-arm64.tar.gz", + "arch": "arm64", + "platform": "darwin", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.7-14344100912/python-3.14.0-alpha.7-darwin-arm64.tar.gz" + }, + { + "filename": "python-3.14.0-alpha.7-darwin-x64-freethreaded.tar.gz", + "arch": "x64-freethreaded", + "platform": "darwin", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.7-14344100912/python-3.14.0-alpha.7-darwin-x64-freethreaded.tar.gz" + }, + { + "filename": "python-3.14.0-alpha.7-darwin-x64.tar.gz", + "arch": "x64", + "platform": "darwin", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.7-14344100912/python-3.14.0-alpha.7-darwin-x64.tar.gz" + }, + { + "filename": "python-3.14.0-alpha.7-linux-20.04-x64-freethreaded.tar.gz", + "arch": "x64-freethreaded", + "platform": "linux", + "platform_version": "20.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.7-14344100912/python-3.14.0-alpha.7-linux-20.04-x64-freethreaded.tar.gz" + }, + { + "filename": "python-3.14.0-alpha.7-linux-20.04-x64.tar.gz", + "arch": "x64", + "platform": "linux", + "platform_version": "20.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.7-14344100912/python-3.14.0-alpha.7-linux-20.04-x64.tar.gz" + }, + { + "filename": "python-3.14.0-alpha.7-linux-22.04-arm64-freethreaded.tar.gz", + "arch": "arm64-freethreaded", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.7-14344100912/python-3.14.0-alpha.7-linux-22.04-arm64-freethreaded.tar.gz" + }, + { + "filename": "python-3.14.0-alpha.7-linux-22.04-arm64.tar.gz", + "arch": "arm64", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.7-14344100912/python-3.14.0-alpha.7-linux-22.04-arm64.tar.gz" + }, + { + "filename": "python-3.14.0-alpha.7-linux-22.04-x64-freethreaded.tar.gz", + "arch": "x64-freethreaded", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.7-14344100912/python-3.14.0-alpha.7-linux-22.04-x64-freethreaded.tar.gz" + }, + { + "filename": "python-3.14.0-alpha.7-linux-22.04-x64.tar.gz", + "arch": "x64", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.7-14344100912/python-3.14.0-alpha.7-linux-22.04-x64.tar.gz" + }, + { + "filename": "python-3.14.0-alpha.7-linux-24.04-arm64-freethreaded.tar.gz", + "arch": "arm64-freethreaded", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.7-14344100912/python-3.14.0-alpha.7-linux-24.04-arm64-freethreaded.tar.gz" + }, + { + "filename": "python-3.14.0-alpha.7-linux-24.04-arm64.tar.gz", + "arch": "arm64", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.7-14344100912/python-3.14.0-alpha.7-linux-24.04-arm64.tar.gz" + }, + { + "filename": "python-3.14.0-alpha.7-linux-24.04-x64-freethreaded.tar.gz", + "arch": "x64-freethreaded", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.7-14344100912/python-3.14.0-alpha.7-linux-24.04-x64-freethreaded.tar.gz" + }, + { + "filename": "python-3.14.0-alpha.7-linux-24.04-x64.tar.gz", + "arch": "x64", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.7-14344100912/python-3.14.0-alpha.7-linux-24.04-x64.tar.gz" + }, + { + "filename": "python-3.14.0-alpha.7-win32-arm64-freethreaded.zip", + "arch": "arm64-freethreaded", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.7-14344100912/python-3.14.0-alpha.7-win32-arm64-freethreaded.zip" + }, + { + "filename": "python-3.14.0-alpha.7-win32-arm64.zip", + "arch": "arm64", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.7-14344100912/python-3.14.0-alpha.7-win32-arm64.zip" + }, + { + "filename": "python-3.14.0-alpha.7-win32-x64-freethreaded.zip", + "arch": "x64-freethreaded", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.7-14344100912/python-3.14.0-alpha.7-win32-x64-freethreaded.zip" + }, + { + "filename": "python-3.14.0-alpha.7-win32-x64.zip", + "arch": "x64", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.7-14344100912/python-3.14.0-alpha.7-win32-x64.zip" + }, + { + "filename": "python-3.14.0-alpha.7-win32-x86-freethreaded.zip", + "arch": "x86-freethreaded", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.7-14344100912/python-3.14.0-alpha.7-win32-x86-freethreaded.zip" + }, + { + "filename": "python-3.14.0-alpha.7-win32-x86.zip", + "arch": "x86", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.7-14344100912/python-3.14.0-alpha.7-win32-x86.zip" + } + ] + }, { "version": "3.14.0-alpha.6", "stable": false, @@ -863,6 +1000,143 @@ } ] }, + { + "version": "3.13.3", + "stable": true, + "release_url": "https://github.com/actions/python-versions/releases/tag/3.13.3-14344076652", + "files": [ + { + "filename": "python-3.13.3-darwin-arm64-freethreaded.tar.gz", + "arch": "arm64-freethreaded", + "platform": "darwin", + "download_url": "https://github.com/actions/python-versions/releases/download/3.13.3-14344076652/python-3.13.3-darwin-arm64-freethreaded.tar.gz" + }, + { + "filename": "python-3.13.3-darwin-arm64.tar.gz", + "arch": "arm64", + "platform": "darwin", + "download_url": "https://github.com/actions/python-versions/releases/download/3.13.3-14344076652/python-3.13.3-darwin-arm64.tar.gz" + }, + { + "filename": "python-3.13.3-darwin-x64-freethreaded.tar.gz", + "arch": "x64-freethreaded", + "platform": "darwin", + "download_url": "https://github.com/actions/python-versions/releases/download/3.13.3-14344076652/python-3.13.3-darwin-x64-freethreaded.tar.gz" + }, + { + "filename": "python-3.13.3-darwin-x64.tar.gz", + "arch": "x64", + "platform": "darwin", + "download_url": "https://github.com/actions/python-versions/releases/download/3.13.3-14344076652/python-3.13.3-darwin-x64.tar.gz" + }, + { + "filename": "python-3.13.3-linux-20.04-x64-freethreaded.tar.gz", + "arch": "x64-freethreaded", + "platform": "linux", + "platform_version": "20.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.13.3-14344076652/python-3.13.3-linux-20.04-x64-freethreaded.tar.gz" + }, + { + "filename": "python-3.13.3-linux-20.04-x64.tar.gz", + "arch": "x64", + "platform": "linux", + "platform_version": "20.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.13.3-14344076652/python-3.13.3-linux-20.04-x64.tar.gz" + }, + { + "filename": "python-3.13.3-linux-22.04-arm64-freethreaded.tar.gz", + "arch": "arm64-freethreaded", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.13.3-14344076652/python-3.13.3-linux-22.04-arm64-freethreaded.tar.gz" + }, + { + "filename": "python-3.13.3-linux-22.04-arm64.tar.gz", + "arch": "arm64", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.13.3-14344076652/python-3.13.3-linux-22.04-arm64.tar.gz" + }, + { + "filename": "python-3.13.3-linux-22.04-x64-freethreaded.tar.gz", + "arch": "x64-freethreaded", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.13.3-14344076652/python-3.13.3-linux-22.04-x64-freethreaded.tar.gz" + }, + { + "filename": "python-3.13.3-linux-22.04-x64.tar.gz", + "arch": "x64", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.13.3-14344076652/python-3.13.3-linux-22.04-x64.tar.gz" + }, + { + "filename": "python-3.13.3-linux-24.04-arm64-freethreaded.tar.gz", + "arch": "arm64-freethreaded", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.13.3-14344076652/python-3.13.3-linux-24.04-arm64-freethreaded.tar.gz" + }, + { + "filename": "python-3.13.3-linux-24.04-arm64.tar.gz", + "arch": "arm64", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.13.3-14344076652/python-3.13.3-linux-24.04-arm64.tar.gz" + }, + { + "filename": "python-3.13.3-linux-24.04-x64-freethreaded.tar.gz", + "arch": "x64-freethreaded", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.13.3-14344076652/python-3.13.3-linux-24.04-x64-freethreaded.tar.gz" + }, + { + "filename": "python-3.13.3-linux-24.04-x64.tar.gz", + "arch": "x64", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.13.3-14344076652/python-3.13.3-linux-24.04-x64.tar.gz" + }, + { + "filename": "python-3.13.3-win32-arm64-freethreaded.zip", + "arch": "arm64-freethreaded", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.13.3-14344076652/python-3.13.3-win32-arm64-freethreaded.zip" + }, + { + "filename": "python-3.13.3-win32-arm64.zip", + "arch": "arm64", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.13.3-14344076652/python-3.13.3-win32-arm64.zip" + }, + { + "filename": "python-3.13.3-win32-x64-freethreaded.zip", + "arch": "x64-freethreaded", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.13.3-14344076652/python-3.13.3-win32-x64-freethreaded.zip" + }, + { + "filename": "python-3.13.3-win32-x64.zip", + "arch": "x64", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.13.3-14344076652/python-3.13.3-win32-x64.zip" + }, + { + "filename": "python-3.13.3-win32-x86-freethreaded.zip", + "arch": "x86-freethreaded", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.13.3-14344076652/python-3.13.3-win32-x86-freethreaded.zip" + }, + { + "filename": "python-3.13.3-win32-x86.zip", + "arch": "x86", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.13.3-14344076652/python-3.13.3-win32-x86.zip" + } + ] + }, { "version": "3.13.2", "stable": true, @@ -2021,6 +2295,78 @@ } ] }, + { + "version": "3.12.10", + "stable": true, + "release_url": "https://github.com/actions/python-versions/releases/tag/3.12.10-14343898437", + "files": [ + { + "filename": "python-3.12.10-darwin-arm64.tar.gz", + "arch": "arm64", + "platform": "darwin", + "download_url": "https://github.com/actions/python-versions/releases/download/3.12.10-14343898437/python-3.12.10-darwin-arm64.tar.gz" + }, + { + "filename": "python-3.12.10-darwin-x64.tar.gz", + "arch": "x64", + "platform": "darwin", + "download_url": "https://github.com/actions/python-versions/releases/download/3.12.10-14343898437/python-3.12.10-darwin-x64.tar.gz" + }, + { + "filename": "python-3.12.10-linux-20.04-x64.tar.gz", + "arch": "x64", + "platform": "linux", + "platform_version": "20.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.12.10-14343898437/python-3.12.10-linux-20.04-x64.tar.gz" + }, + { + "filename": "python-3.12.10-linux-22.04-arm64.tar.gz", + "arch": "arm64", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.12.10-14343898437/python-3.12.10-linux-22.04-arm64.tar.gz" + }, + { + "filename": "python-3.12.10-linux-22.04-x64.tar.gz", + "arch": "x64", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.12.10-14343898437/python-3.12.10-linux-22.04-x64.tar.gz" + }, + { + "filename": "python-3.12.10-linux-24.04-arm64.tar.gz", + "arch": "arm64", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.12.10-14343898437/python-3.12.10-linux-24.04-arm64.tar.gz" + }, + { + "filename": "python-3.12.10-linux-24.04-x64.tar.gz", + "arch": "x64", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.12.10-14343898437/python-3.12.10-linux-24.04-x64.tar.gz" + }, + { + "filename": "python-3.12.10-win32-arm64.zip", + "arch": "arm64", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.12.10-14343898437/python-3.12.10-win32-arm64.zip" + }, + { + "filename": "python-3.12.10-win32-x64.zip", + "arch": "x64", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.12.10-14343898437/python-3.12.10-win32-x64.zip" + }, + { + "filename": "python-3.12.10-win32-x86.zip", + "arch": "x86", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.12.10-14343898437/python-3.12.10-win32-x86.zip" + } + ] + }, { "version": "3.12.9", "stable": true, @@ -3377,6 +3723,48 @@ } ] }, + { + "version": "3.11.12", + "stable": true, + "release_url": "https://github.com/actions/python-versions/releases/tag/3.11.12-14343939122", + "files": [ + { + "filename": "python-3.11.12-linux-20.04-x64.tar.gz", + "arch": "x64", + "platform": "linux", + "platform_version": "20.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.11.12-14343939122/python-3.11.12-linux-20.04-x64.tar.gz" + }, + { + "filename": "python-3.11.12-linux-22.04-arm64.tar.gz", + "arch": "arm64", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.11.12-14343939122/python-3.11.12-linux-22.04-arm64.tar.gz" + }, + { + "filename": "python-3.11.12-linux-22.04-x64.tar.gz", + "arch": "x64", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.11.12-14343939122/python-3.11.12-linux-22.04-x64.tar.gz" + }, + { + "filename": "python-3.11.12-linux-24.04-arm64.tar.gz", + "arch": "arm64", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.11.12-14343939122/python-3.11.12-linux-24.04-arm64.tar.gz" + }, + { + "filename": "python-3.11.12-linux-24.04-x64.tar.gz", + "arch": "x64", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.11.12-14343939122/python-3.11.12-linux-24.04-x64.tar.gz" + } + ] + }, { "version": "3.11.11", "stable": true, @@ -4776,6 +5164,54 @@ } ] }, + { + "version": "3.10.17", + "stable": true, + "release_url": "https://github.com/actions/python-versions/releases/tag/3.10.17-14343836466", + "files": [ + { + "filename": "python-3.10.17-darwin-x64.tar.gz", + "arch": "x64", + "platform": "darwin", + "download_url": "https://github.com/actions/python-versions/releases/download/3.10.17-14343836466/python-3.10.17-darwin-x64.tar.gz" + }, + { + "filename": "python-3.10.17-linux-20.04-x64.tar.gz", + "arch": "x64", + "platform": "linux", + "platform_version": "20.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.10.17-14343836466/python-3.10.17-linux-20.04-x64.tar.gz" + }, + { + "filename": "python-3.10.17-linux-22.04-arm64.tar.gz", + "arch": "arm64", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.10.17-14343836466/python-3.10.17-linux-22.04-arm64.tar.gz" + }, + { + "filename": "python-3.10.17-linux-22.04-x64.tar.gz", + "arch": "x64", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.10.17-14343836466/python-3.10.17-linux-22.04-x64.tar.gz" + }, + { + "filename": "python-3.10.17-linux-24.04-arm64.tar.gz", + "arch": "arm64", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.10.17-14343836466/python-3.10.17-linux-24.04-arm64.tar.gz" + }, + { + "filename": "python-3.10.17-linux-24.04-x64.tar.gz", + "arch": "x64", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.10.17-14343836466/python-3.10.17-linux-24.04-x64.tar.gz" + } + ] + }, { "version": "3.10.16", "stable": true, @@ -6277,6 +6713,54 @@ } ] }, + { + "version": "3.9.22", + "stable": true, + "release_url": "https://github.com/actions/python-versions/releases/tag/3.9.22-14344111503", + "files": [ + { + "filename": "python-3.9.22-darwin-x64.tar.gz", + "arch": "x64", + "platform": "darwin", + "download_url": "https://github.com/actions/python-versions/releases/download/3.9.22-14344111503/python-3.9.22-darwin-x64.tar.gz" + }, + { + "filename": "python-3.9.22-linux-20.04-x64.tar.gz", + "arch": "x64", + "platform": "linux", + "platform_version": "20.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.9.22-14344111503/python-3.9.22-linux-20.04-x64.tar.gz" + }, + { + "filename": "python-3.9.22-linux-22.04-arm64.tar.gz", + "arch": "arm64", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.9.22-14344111503/python-3.9.22-linux-22.04-arm64.tar.gz" + }, + { + "filename": "python-3.9.22-linux-22.04-x64.tar.gz", + "arch": "x64", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.9.22-14344111503/python-3.9.22-linux-22.04-x64.tar.gz" + }, + { + "filename": "python-3.9.22-linux-24.04-arm64.tar.gz", + "arch": "arm64", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.9.22-14344111503/python-3.9.22-linux-24.04-arm64.tar.gz" + }, + { + "filename": "python-3.9.22-linux-24.04-x64.tar.gz", + "arch": "x64", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.9.22-14344111503/python-3.9.22-linux-24.04-x64.tar.gz" + } + ] + }, { "version": "3.9.21", "stable": true, From bc5b4d5490e6d89d854dcc3095428e9de0e35063 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 15 Apr 2025 21:45:36 +0200 Subject: [PATCH 2/8] chore: use ubuntu-*-arm runners instead of custom ones (#330) This allows contributors to test on GitHub hosted Linux ARM64 runners easily now that those runners are available for free for public repositories: https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/ --- .github/workflows/build-python-packages.yml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build-python-packages.yml b/.github/workflows/build-python-packages.yml index bbe80a09..da454330 100644 --- a/.github/workflows/build-python-packages.yml +++ b/.github/workflows/build-python-packages.yml @@ -54,18 +54,12 @@ jobs: $os = $parts[0] $arch = if ($parts[1]) {$parts[1]} else {"x64"} switch -wildcard ($os) { - "*ubuntu*" { $platform = $os.Replace("ubuntu","linux")} + "*ubuntu*" { $platform = $os.Replace("ubuntu","linux"); if ($arch -eq "arm64" ) { $os = "${os}-arm" } } "*macos*" { $platform = 'darwin' } "*windows*" { $platform = 'win32' } } - if ($configuration -eq "ubuntu-22.04_arm64") { - $os = "setup-actions-ubuntu-arm64-2-core" - } - elseif ($configuration -eq "ubuntu-24.04_arm64") { - $os = "setup-actions-ubuntu24-arm64-2-core" - } - elseif ($configuration -eq "windows-2019_arm64") { + if ($configuration -eq "windows-2019_arm64") { $os = "setup-actions-windows-arm64-4-core" } From 5c01d17435c967f1c23eaa70ab7d0fa380523ff8 Mon Sep 17 00:00:00 2001 From: aparnajyothi-y <147696841+aparnajyothi-y@users.noreply.github.com> Date: Wed, 16 Apr 2025 22:36:27 +0530 Subject: [PATCH 3/8] Remove Ubuntu 20.04 and Update Stable and Unstable Versions for Tests (#336) * Remove ubuntu-20.04 and updated the stable and unstable test cases * arch update for freethreaded * Remove duplicate 'ubuntu-latest' from matrix OS --------- Co-authored-by: Haritha <73516759+HarithaVattikuti@users.noreply.github.com> --- .github/workflows/build-python-packages.yml | 4 +-- .github/workflows/releases-validation.yml | 2 +- .github/workflows/test-python-version.yml | 2 +- tests/ManifestConfig.Tests.ps1 | 34 +++++++++++++++------ 4 files changed, 28 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build-python-packages.yml b/.github/workflows/build-python-packages.yml index da454330..cd476b59 100644 --- a/.github/workflows/build-python-packages.yml +++ b/.github/workflows/build-python-packages.yml @@ -20,7 +20,7 @@ on: PLATFORMS: description: 'Platforms for execution in "os" or "os_arch" format (arch is "x64" by default)' required: true - default: 'ubuntu-20.04,ubuntu-22.04,ubuntu-22.04_arm64,ubuntu-24.04,ubuntu-24.04_arm64,macos-13_x64,macos-14_arm64,windows-2019_x64,windows-2019_x86,windows-2019_arm64' + default: 'ubuntu-22.04,ubuntu-22.04_arm64,ubuntu-24.04,ubuntu-24.04_arm64,macos-13_x64,macos-14_arm64,windows-2019_x64,windows-2019_x86,windows-2019_arm64' pull_request: paths-ignore: - 'versions-manifest.json' @@ -44,7 +44,7 @@ jobs: - name: Generate execution matrix id: generate-matrix run: | - [String[]]$configurations = "${{ inputs.platforms || 'ubuntu-20.04,ubuntu-22.04,ubuntu-22.04_arm64,ubuntu-24.04,ubuntu-24.04_arm64,macos-13,macos-14_arm64,windows-2019_x64,windows-2019_x86,windows-2019_arm64' }}".Split(",").Trim() + [String[]]$configurations = "${{ inputs.platforms || 'ubuntu-22.04,ubuntu-22.04_arm64,ubuntu-24.04,ubuntu-24.04_arm64,macos-13,macos-14_arm64,windows-2019_x64,windows-2019_x86,windows-2019_arm64' }}".Split(",").Trim() [String[]]$buildModes = "${{ inputs.threading_build_modes || 'default' }}".Split(",").Trim() $matrix = @() diff --git a/.github/workflows/releases-validation.yml b/.github/workflows/releases-validation.yml index 0b35af98..4fdd2c64 100644 --- a/.github/workflows/releases-validation.yml +++ b/.github/workflows/releases-validation.yml @@ -14,7 +14,7 @@ jobs: strategy: fail-fast: false matrix: - os: [macos-latest, windows-latest, ubuntu-20.04, ubuntu-22.04, macos-13, ubuntu-latest] + os: [macos-latest, windows-latest, ubuntu-22.04, ubuntu-latest, macos-13] python: [3.9.13, 3.10.11, 3.11.8, 3.12.7, 3.13.0] steps: - name: setup-python ${{ matrix.python }} diff --git a/.github/workflows/test-python-version.yml b/.github/workflows/test-python-version.yml index e11d9ac5..7f104715 100644 --- a/.github/workflows/test-python-version.yml +++ b/.github/workflows/test-python-version.yml @@ -17,7 +17,7 @@ jobs: strategy: fail-fast: false matrix: - os: [macos-latest, windows-latest, ubuntu-20.04, ubuntu-22.04, ubuntu-latest, macos-13] + os: [macos-latest, windows-latest, ubuntu-22.04, ubuntu-latest, macos-13] steps: - name: Setup Python ${{ github.event.inputs.version }} uses: actions/setup-python@main diff --git a/tests/ManifestConfig.Tests.ps1 b/tests/ManifestConfig.Tests.ps1 index 7ad12daf..5d0ada45 100644 --- a/tests/ManifestConfig.Tests.ps1 +++ b/tests/ManifestConfig.Tests.ps1 @@ -4,19 +4,33 @@ $ConfigurationFile = Join-Path $PSScriptRoot "../config/python-manifest-config.j $Configuration = Read-ConfigurationFile -Filepath $ConfigurationFile $stableTestCases = @( - @{ ReleaseName = "python-3.8.3-darwin-x64.tar.gz"; ExpectedResult = @{ platform = "darwin"; platform_version = $null; arch = "x64"} }, - @{ ReleaseName = "python-3.8.3-linux-20.04-x64.tar.gz"; ExpectedResult = @{ platform = "linux"; platform_version = "20.04"; arch = "x64"} }, - @{ ReleaseName = "python-3.8.3-linux-22.04-x64.tar.gz"; ExpectedResult = @{ platform = "linux"; platform_version = "22.04"; arch = "x64"} }, - @{ ReleaseName = "python-3.8.3-win32-x64.zip"; ExpectedResult = @{ platform = "win32"; platform_version = $null; arch = "x64"} }, - @{ ReleaseName = "python-3.8.3-win32-x86.zip"; ExpectedResult = @{ platform = "win32"; platform_version = $null; arch = "x86"} } + + @{ ReleaseName = "python-3.13.0-darwin-x64.tar.gz"; ExpectedResult = @{ platform = "darwin"; platform_version = $null; arch = "x64"} }, + @{ ReleaseName = "python-3.13.0-linux-20.04-x64.tar.gz"; ExpectedResult = @{ platform = "linux"; platform_version = "20.04"; arch = "x64"} }, + @{ ReleaseName = "python-3.13.0-linux-22.04-x64.tar.gz"; ExpectedResult = @{ platform = "linux"; platform_version = "22.04"; arch = "x64"} }, + @{ ReleaseName = "python-3.13.0-win32-x64.zip"; ExpectedResult = @{ platform = "win32"; platform_version = $null; arch = "x64"} }, + @{ ReleaseName = "python-3.13.0-win32-x86.zip"; ExpectedResult = @{ platform = "win32"; platform_version = $null; arch = "x86"} }, + @{ ReleaseName = "python-3.13.0-darwin-x64-freethreaded.tar.gz"; ExpectedResult = @{ platform = "darwin"; platform_version = $null; arch = "x64-freethreaded"} }, + @{ ReleaseName = "python-3.13.0-linux-20.04-x64-freethreaded.tar.gz"; ExpectedResult = @{ platform = "linux"; platform_version = "20.04"; arch = "x64-freethreaded"} }, + @{ ReleaseName = "python-3.13.0-linux-22.04-x64-freethreaded.tar.gz"; ExpectedResult = @{ platform = "linux"; platform_version = "22.04"; arch = "x64-freethreaded"} }, + @{ ReleaseName = "python-3.13.0-win32-x64-freethreaded.zip"; ExpectedResult = @{ platform = "win32"; platform_version = $null; arch = "x64-freethreaded"} }, + @{ ReleaseName = "python-3.13.0-win32-x86-freethreaded.zip"; ExpectedResult = @{ platform = "win32"; platform_version = $null; arch = "x86-freethreaded"} } + ) | ForEach-Object { $_.Configuration = $Configuration; $_ } $unstableTestCases = @( - @{ ReleaseName = "python-3.9.0-alpha.2-darwin-x64.tar.gz"; ExpectedResult = @{ platform = "darwin"; platform_version = $null; arch = "x64"} }, - @{ ReleaseName = "python-3.9.0-beta.2-linux-20.04-x64.tar.gz"; ExpectedResult = @{ platform = "linux"; platform_version = "20.04"; arch = "x64"} }, - @{ ReleaseName = "python-3.9.0-rc.4-linux-22.04-x64.tar.gz"; ExpectedResult = @{ platform = "linux"; platform_version = "22.04"; arch = "x64"} }, - @{ ReleaseName = "python-3.9.0-beta.2-win32-x64.zip"; ExpectedResult = @{ platform = "win32"; platform_version = $null; arch = "x64"} }, - @{ ReleaseName = "python-3.9.0-beta.2-win32-x86.zip"; ExpectedResult = @{ platform = "win32"; platform_version = $null; arch = "x86"} } + + @{ ReleaseName = "python-3.14.0-alpha.5-darwin-x64.tar.gz"; ExpectedResult = @{ platform = "darwin"; platform_version = $null; arch = "x64"} }, + @{ ReleaseName = "python-3.14.0-alpha.5-linux-20.04-x64.tar.gz"; ExpectedResult = @{ platform = "linux"; platform_version = "20.04"; arch = "x64"} }, + @{ ReleaseName = "python-3.14.0-alpha.5-linux-22.04-x64.tar.gz"; ExpectedResult = @{ platform = "linux"; platform_version = "22.04"; arch = "x64"} }, + @{ ReleaseName = "python-3.14.0-alpha.5-win32-x64.zip"; ExpectedResult = @{ platform = "win32"; platform_version = $null; arch = "x64"} }, + @{ ReleaseName = "python-3.14.0-alpha.5-win32-x86.zip"; ExpectedResult = @{ platform = "win32"; platform_version = $null; arch = "x86"} }, + @{ ReleaseName = "python-3.14.0-alpha.5-darwin-x64-freethreaded.tar.gz"; ExpectedResult = @{ platform = "darwin"; platform_version = $null; arch = "x64-freethreaded"} }, + @{ ReleaseName = "python-3.14.0-alpha.5-linux-20.04-x64-freethreaded.tar.gz"; ExpectedResult = @{ platform = "linux"; platform_version = "20.04"; arch = "x64-freethreaded"} }, + @{ ReleaseName = "python-3.14.0-alpha.5-linux-22.04-x64-freethreaded.tar.gz"; ExpectedResult = @{ platform = "linux"; platform_version = "22.04"; arch = "x64-freethreaded"} }, + @{ ReleaseName = "python-3.14.0-alpha.5-win32-x64-freethreaded.zip"; ExpectedResult = @{ platform = "win32"; platform_version = $null; arch = "x64-freethreaded"} }, + @{ ReleaseName = "python-3.14.0-alpha.5-win32-x86-freethreaded.zip"; ExpectedResult = @{ platform = "win32"; platform_version = $null; arch = "x86-freethreaded"} } + ) | ForEach-Object { $_.Configuration = $Configuration; $_ } Describe "Python manifest config" { From d5e8ad64061e8660f32b276495891dc78d14eec2 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Thu, 24 Apr 2025 23:29:21 +0300 Subject: [PATCH 4/8] Remove EOL Python code, set 3.9 as base, add 3.14 stdlib module (#317) * Remove redundant Python 2 code * Use Python 3.2 as base version * Use Python 3.3 as base version * Use Python 3.4 as base version * Use Python 3.5 as base version * Use Python 3.6 as base version * Use Python 3.7 as base version * Use Python 3.8 as base version * Use Python 3.9 as base version * Add annotationlib for Python 3.14 * Fix syntax error --- builders/macos-python-builder.psm1 | 48 ++----------- builders/nix-python-builder.psm1 | 3 +- builders/ubuntu-python-builder.psm1 | 4 +- builders/win-python-builder.psm1 | 10 +-- installers/win-setup-template.ps1 | 11 +-- tests/python-tests.ps1 | 12 +--- tests/sources/python-modules.py | 100 ++++++-------------------- tests/sources/python-urlopen-https.py | 6 +- 8 files changed, 39 insertions(+), 155 deletions(-) diff --git a/builders/macos-python-builder.psm1 b/builders/macos-python-builder.psm1 index a92724d5..231fee55 100644 --- a/builders/macos-python-builder.psm1 +++ b/builders/macos-python-builder.psm1 @@ -31,14 +31,6 @@ class macOSPythonBuilder : NixPythonBuilder { .SYNOPSIS Prepare system environment by installing dependencies and required packages. #> - - if ($this.Version -eq "3.7.17") { - # We have preinstalled ncurses and readLine on the hoster runners. But we need to install bzip2 for - # setting up an environemnt - # If we get any issues realted to ncurses or readline we can try to run this command - # brew install ncurses readline - Execute-Command -Command "brew install bzip2" - } } [void] Configure() { @@ -58,46 +50,20 @@ class macOSPythonBuilder : NixPythonBuilder { ### will never be used itself by a Github Actions runner but using a universal2 Python is the only way to build ### universal2 C extensions and wheels. This is supported by Python >= 3.10 and was backported to Python >= ### 3.9.1 and >= 3.8.10. - ### Disabled, discussion: https://github.com/actions/python-versions/pull/114 - # if ($this.Version -ge "3.8.10" -and $this.Version -ne "3.8.13" -and $this.Version -ne "3.9.0" ) { - # $configureString += " --enable-universalsdk --with-universal-archs=universal2" - # } ### OS X 10.11, Apple no longer provides header files for the deprecated system version of OpenSSL. ### Solution is to install these libraries from a third-party package manager, ### and then add the appropriate paths for the header and library files to configure command. ### Link to documentation (https://cpython-devguide.readthedocs.io/setup/#build-dependencies) - if ($this.Version -lt "3.7.0") { - $env:LDFLAGS = "-L/usr/local/opt/openssl@3/lib -L/usr/local/opt/zlib/lib" - $env:CFLAGS = "-I/usr/local/opt/openssl@3/include -I/usr/local/opt/zlib/include" - } else { - $configureString += " --with-openssl=/usr/local/opt/openssl@3" - - # For Python 3.7.2 and 3.7.3 we need to provide PATH for zlib to pack it properly. Otherwise the build will fail - # with the error: zipimport.ZipImportError: can't decompress data; zlib not available - if ($this.Version -eq "3.7.2" -or $this.Version -eq "3.7.3" -or $this.Version -eq "3.7.17") { - $env:LDFLAGS = "-L/usr/local/opt/zlib/lib" - $env:CFLAGS = "-I/usr/local/opt/zlib/include" - } - - # if ($this.Version -gt "3.7.12") { - $configureString += " --with-tcltk-includes='-I /usr/local/opt/tcl-tk/include/tcl-tk' --with-tcltk-libs='-L/usr/local/opt/tcl-tk/lib -ltcl8.6 -ltk8.6'" - # } - - if ($this.Version -eq "3.7.17") { - $env:LDFLAGS += " -L$(brew --prefix bzip2)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix ncurses)/lib" - $env:CFLAGS += " -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/include -I$(brew --prefix ncurses)/include" - } - } + $configureString += " --with-openssl=/usr/local/opt/openssl@3" + $configureString += " --with-tcltk-includes='-I /usr/local/opt/tcl-tk/include/tcl-tk' --with-tcltk-libs='-L/usr/local/opt/tcl-tk/lib -ltcl8.6 -ltk8.6'" - ### Compile with support of loadable sqlite extensions. Unavailable for Python 2.* + ### Compile with support of loadable sqlite extensions. ### Link to documentation (https://docs.python.org/3/library/sqlite3.html#sqlite3.Connection.enable_load_extension) - if ($this.Version -ge "3.2.0") { - $configureString += " --enable-loadable-sqlite-extensions" - $env:LDFLAGS += " -L$(brew --prefix sqlite3)/lib" - $env:CFLAGS += " -I$(brew --prefix sqlite3)/include" - $env:CPPFLAGS += "-I$(brew --prefix sqlite3)/include" - } + $configureString += " --enable-loadable-sqlite-extensions" + $env:LDFLAGS += " -L$(brew --prefix sqlite3)/lib" + $env:CFLAGS += " -I$(brew --prefix sqlite3)/include" + $env:CPPFLAGS += "-I$(brew --prefix sqlite3)/include" Write-Host "The passed configure options are: " Write-Host $configureString diff --git a/builders/nix-python-builder.psm1 b/builders/nix-python-builder.psm1 index ea73539d..8a53fe0d 100644 --- a/builders/nix-python-builder.psm1 +++ b/builders/nix-python-builder.psm1 @@ -61,8 +61,7 @@ class NixPythonBuilder : PythonBuilder { Return name of Python binary. #> - if ($this.Version.Major -eq 2) { $pythonBinary = "python" } else { $pythonBinary = "python3" } - return $pythonBinary + return "python3" } [string] Download() { diff --git a/builders/ubuntu-python-builder.psm1 b/builders/ubuntu-python-builder.psm1 index d7b13eb0..eb04611e 100644 --- a/builders/ubuntu-python-builder.psm1 +++ b/builders/ubuntu-python-builder.psm1 @@ -61,8 +61,8 @@ class UbuntuPythonBuilder : NixPythonBuilder { Prepare system environment by installing dependencies and required packages. #> - if ($this.Version -lt "3.5.3") { - Write-Host "Python versions lower than 3.5.3 are not supported" + if ($this.Version -lt "3.9.0") { + Write-Host "Python versions lower than 3.9.0 are not supported" exit 1 } diff --git a/builders/win-python-builder.psm1 b/builders/win-python-builder.psm1 index 9614764a..33148d0b 100644 --- a/builders/win-python-builder.psm1 +++ b/builders/win-python-builder.psm1 @@ -42,9 +42,7 @@ class WinPythonBuilder : PythonBuilder { Return extension for required version of Python executable. #> - $extension = if ($this.Version -lt "3.5" -and $this.Version -ge "2.5") { ".msi" } else { ".exe" } - - return $extension + return ".exe" } [string] GetArchitectureExtension() { @@ -55,11 +53,7 @@ class WinPythonBuilder : PythonBuilder { $ArchitectureExtension = "" if ($this.GetHardwareArchitecture() -eq "x64") { - if ($this.Version -ge "3.5") { - $ArchitectureExtension = "-amd64" - } else { - $ArchitectureExtension = ".amd64" - } + $ArchitectureExtension = "-amd64" } elseif ($this.GetHardwareArchitecture() -eq "arm64") { $ArchitectureExtension = "-arm64" } diff --git a/installers/win-setup-template.ps1 b/installers/win-setup-template.ps1 index 5aaad80e..cb9b561b 100644 --- a/installers/win-setup-template.ps1 +++ b/installers/win-setup-template.ps1 @@ -11,12 +11,7 @@ function Get-RegistryVersionFilter { ) $archFilter = if ($Architecture -eq 'x86') { "32-bit" } else { "64-bit" } - ### Python 2.7 x86 have no architecture postfix - if (($Architecture -eq "x86") -and ($MajorVersion -eq 2)) { - "Python $MajorVersion.$MinorVersion.\d+$" - } else { - "Python $MajorVersion.$MinorVersion.*($archFilter)" - } + "Python $MajorVersion.$MinorVersion.*($archFilter)" } function Remove-RegistryEntries { @@ -143,9 +138,7 @@ if ($IsFreeThreaded) { } Write-Host "Create `python3` symlink" -if ($MajorVersion -ne "2") { - New-Item -Path "$PythonArchPath\python3.exe" -ItemType SymbolicLink -Value "$PythonArchPath\python.exe" -} +New-Item -Path "$PythonArchPath\python3.exe" -ItemType SymbolicLink -Value "$PythonArchPath\python.exe" Write-Host "Install and upgrade Pip" $Env:PIP_ROOT_USER_ACTION = "ignore" diff --git a/tests/python-tests.ps1 b/tests/python-tests.ps1 index 0f9d2abe..61cfe695 100644 --- a/tests/python-tests.ps1 +++ b/tests/python-tests.ps1 @@ -60,7 +60,7 @@ Describe "Tests" { # } # } - if (($Version -ge "3.2.0") -and ($Version -lt "3.11.0") -and (($Platform -ne "darwin") -or ($HardwareArchitecture -ne "arm64"))) { + if (($Version -lt "3.11.0") -and (($Platform -ne "darwin") -or ($HardwareArchitecture -ne "arm64"))) { It "Check if sqlite3 module is installed" { "python ./sources/python-sqlite3.py" | Should -ReturnZeroExitCode } @@ -92,16 +92,6 @@ Describe "Tests" { } } - # Pyinstaller 3.5 does not support Python 3.8.0. Check issue https://github.com/pyinstaller/pyinstaller/issues/4311 - if ($Version -lt "3.8.0" -and $Version.Major -ne "2") { - It "Validate Pyinstaller" { - "pip install pyinstaller" | Should -ReturnZeroExitCode - "pyinstaller --onefile ./sources/simple-test.py" | Should -ReturnZeroExitCode - $distPath = [IO.Path]::Combine($pwd, "dist", "simple-test") - "$distPath" | Should -ReturnZeroExitCode - } - } - It "Check urlopen with HTTPS works" { "python ./sources/python-urlopen-https.py" | Should -ReturnZeroExitCode } diff --git a/tests/sources/python-modules.py b/tests/sources/python-modules.py index 833fee55..1c31adfd 100644 --- a/tests/sources/python-modules.py +++ b/tests/sources/python-modules.py @@ -3,12 +3,10 @@ This is needed for Linux since we build from source. """ -from __future__ import print_function - import importlib import sys -# The Python standard library as of Python 3.0 +# The Python standard library as of Python 3.9 standard_library = [ 'abc', 'aifc', @@ -17,6 +15,7 @@ 'ast', 'asynchat', 'asyncore', + 'asyncio', 'base64', 'bdb', 'binhex', @@ -34,14 +33,17 @@ 'collections', 'colorsys', 'compileall', + 'concurrent', 'configparser', 'contextlib', + 'contextvars', 'copy', 'copyreg', 'crypt', 'csv', 'ctypes', 'curses', + 'dataclasses', 'datetime', 'dbm', 'decimal', @@ -49,9 +51,11 @@ 'dis', 'distutils', 'doctest', - 'dummy_threading', 'email', 'encodings', + 'ensurepip', + 'enum', + 'faulthandler', 'filecmp', 'fileinput', 'fnmatch', @@ -77,13 +81,14 @@ 'importlib', 'inspect', 'io', + 'ipaddress', 'json', 'keyword', 'lib2to3', 'linecache', 'locale', 'logging', - 'macpath', + 'lzma', 'mailbox', 'mailcap', 'mimetypes', @@ -98,6 +103,7 @@ 'operator', 'optparse', 'os', + 'pathlib', 'pdb', 'pickle', 'pickletools', @@ -124,6 +130,8 @@ 'rlcompleter', 'runpy', 'sched', + 'secrets', + 'selectors', 'shelve', 'shlex', 'shutil', @@ -141,6 +149,7 @@ 'ssl', '_ssl', 'stat', + 'statistics', 'string', 'stringprep', 'struct', @@ -163,14 +172,17 @@ 'tokenize', 'trace', 'traceback', + 'tracemalloc', 'tty', 'turtle', 'turtledemo', 'types', + 'typing', 'unittest', 'urllib', 'uu', 'uuid', + 'venv', 'warnings', 'wave', 'weakref', @@ -179,83 +191,12 @@ 'xdrlib', 'xml', 'xmlrpc', + 'zipapp', 'zipfile' ] -# Modules that had different names in Python 2 -if sys.version_info.major == 2: - def replace(lst, old, new): - lst[lst.index(old)] = new - - # Keys are the Python 2 names - # Values are the Python 3 names - renames = { - 'ConfigParser': 'configparser', - 'copy_reg': 'copyreg', - 'HTMLParser': 'html', - 'httplib': 'http', - 'Queue': 'queue', - 'repr': 'reprlib', - 'SocketServer': 'socketserver', - 'xmlrpclib': 'xmlrpc', - 'Tkinter': 'tkinter' - } - - # All of the Python 3 names should be in the list - for python2name, python3name in renames.items(): - replace(standard_library, python3name, python2name) - # Add new modules # See https://docs.python.org/3/whatsnew/index.html -if sys.version_info >= (3, 2): - standard_library.extend([ - 'concurrent', - ]) - -if sys.version_info >= (3, 3): - standard_library.extend([ - 'ipaddress', - 'faulthandler', - 'lzma', - 'venv', - ]) - -if sys.version_info >= (3, 4): - standard_library.extend([ - 'asyncio', - 'ensurepip', - 'enum', - 'pathlib', - 'selectors', - 'statistics', - 'tracemalloc', - ]) - -if sys.version_info >= (3, 5): - standard_library.extend([ - 'typing', - 'zipapp', - ]) - -if sys.version_info >= (3, 6): - standard_library.extend([ - 'secrets', - ]) - -if sys.version_info >= (3, 7): - standard_library.extend([ - 'contextvars', - 'dataclasses', - ]) - -# 'macpath' module has been removed from Python 3.8 -if sys.version_info > (3, 7): - standard_library.remove('macpath') - -# 'dummy_threading' module has been removed from Python 3.9 -if sys.version_info > (3, 8): - standard_library.remove('dummy_threading') - # 'symbol' and 'formatter' modules have been removed from Python 3.10 if sys.version_info >= (3, 10): standard_library.remove('symbol') @@ -295,6 +236,11 @@ def replace(lst, old, new): standard_library.remove('uu') standard_library.remove('xdrlib') +if sys.version_info >= (3, 14): + standard_library.extend([ + 'annotationlib', + ]) + # Remove tkinter and Easter eggs excluded_modules = [ 'antigravity', diff --git a/tests/sources/python-urlopen-https.py b/tests/sources/python-urlopen-https.py index 14fd81f3..cd41c627 100644 --- a/tests/sources/python-urlopen-https.py +++ b/tests/sources/python-urlopen-https.py @@ -1,9 +1,5 @@ import sys - -if sys.version_info[0] == 2: - from urllib2 import urlopen -else: - from urllib.request import urlopen +from urllib.request import urlopen response = urlopen("https://raw.githubusercontent.com/actions/python-versions/c641695f6a07526c18f10e374e503e649fef9427/.gitignore") data = response.read() From 96e291c21eb3c72000ab6d8bb9997d6253c2959e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 7 May 2025 23:34:45 -0500 Subject: [PATCH 5/8] Update versions-manifest (#340) Co-authored-by: Service account --- versions-manifest.json | 123 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) diff --git a/versions-manifest.json b/versions-manifest.json index d9046a7d..62bd6338 100644 --- a/versions-manifest.json +++ b/versions-manifest.json @@ -1,4 +1,127 @@ [ + { + "version": "3.14.0-beta.1", + "stable": false, + "release_url": "https://github.com/actions/python-versions/releases/tag/3.14.0-beta.1-14887264705", + "files": [ + { + "filename": "python-3.14.0-beta.1-darwin-arm64-freethreaded.tar.gz", + "arch": "arm64-freethreaded", + "platform": "darwin", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.1-14887264705/python-3.14.0-beta.1-darwin-arm64-freethreaded.tar.gz" + }, + { + "filename": "python-3.14.0-beta.1-darwin-arm64.tar.gz", + "arch": "arm64", + "platform": "darwin", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.1-14887264705/python-3.14.0-beta.1-darwin-arm64.tar.gz" + }, + { + "filename": "python-3.14.0-beta.1-darwin-x64-freethreaded.tar.gz", + "arch": "x64-freethreaded", + "platform": "darwin", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.1-14887264705/python-3.14.0-beta.1-darwin-x64-freethreaded.tar.gz" + }, + { + "filename": "python-3.14.0-beta.1-darwin-x64.tar.gz", + "arch": "x64", + "platform": "darwin", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.1-14887264705/python-3.14.0-beta.1-darwin-x64.tar.gz" + }, + { + "filename": "python-3.14.0-beta.1-linux-22.04-arm64-freethreaded.tar.gz", + "arch": "arm64-freethreaded", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.1-14887264705/python-3.14.0-beta.1-linux-22.04-arm64-freethreaded.tar.gz" + }, + { + "filename": "python-3.14.0-beta.1-linux-22.04-arm64.tar.gz", + "arch": "arm64", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.1-14887264705/python-3.14.0-beta.1-linux-22.04-arm64.tar.gz" + }, + { + "filename": "python-3.14.0-beta.1-linux-22.04-x64-freethreaded.tar.gz", + "arch": "x64-freethreaded", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.1-14887264705/python-3.14.0-beta.1-linux-22.04-x64-freethreaded.tar.gz" + }, + { + "filename": "python-3.14.0-beta.1-linux-22.04-x64.tar.gz", + "arch": "x64", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.1-14887264705/python-3.14.0-beta.1-linux-22.04-x64.tar.gz" + }, + { + "filename": "python-3.14.0-beta.1-linux-24.04-arm64-freethreaded.tar.gz", + "arch": "arm64-freethreaded", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.1-14887264705/python-3.14.0-beta.1-linux-24.04-arm64-freethreaded.tar.gz" + }, + { + "filename": "python-3.14.0-beta.1-linux-24.04-arm64.tar.gz", + "arch": "arm64", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.1-14887264705/python-3.14.0-beta.1-linux-24.04-arm64.tar.gz" + }, + { + "filename": "python-3.14.0-beta.1-linux-24.04-x64-freethreaded.tar.gz", + "arch": "x64-freethreaded", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.1-14887264705/python-3.14.0-beta.1-linux-24.04-x64-freethreaded.tar.gz" + }, + { + "filename": "python-3.14.0-beta.1-linux-24.04-x64.tar.gz", + "arch": "x64", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.1-14887264705/python-3.14.0-beta.1-linux-24.04-x64.tar.gz" + }, + { + "filename": "python-3.14.0-beta.1-win32-arm64-freethreaded.zip", + "arch": "arm64-freethreaded", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.1-14887264705/python-3.14.0-beta.1-win32-arm64-freethreaded.zip" + }, + { + "filename": "python-3.14.0-beta.1-win32-arm64.zip", + "arch": "arm64", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.1-14887264705/python-3.14.0-beta.1-win32-arm64.zip" + }, + { + "filename": "python-3.14.0-beta.1-win32-x64-freethreaded.zip", + "arch": "x64-freethreaded", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.1-14887264705/python-3.14.0-beta.1-win32-x64-freethreaded.zip" + }, + { + "filename": "python-3.14.0-beta.1-win32-x64.zip", + "arch": "x64", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.1-14887264705/python-3.14.0-beta.1-win32-x64.zip" + }, + { + "filename": "python-3.14.0-beta.1-win32-x86-freethreaded.zip", + "arch": "x86-freethreaded", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.1-14887264705/python-3.14.0-beta.1-win32-x86-freethreaded.zip" + }, + { + "filename": "python-3.14.0-beta.1-win32-x86.zip", + "arch": "x86", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.1-14887264705/python-3.14.0-beta.1-win32-x86.zip" + } + ] + }, { "version": "3.14.0-alpha.7", "stable": false, From 56544d48403bf2df64308907542eabc41a8f34f8 Mon Sep 17 00:00:00 2001 From: Max Schmitt Date: Fri, 16 May 2025 05:11:05 +0200 Subject: [PATCH 6/8] fix(windows): verbose output on Windows (#339) --- installers/win-setup-template.ps1 | 5 ----- 1 file changed, 5 deletions(-) diff --git a/installers/win-setup-template.ps1 b/installers/win-setup-template.ps1 index cb9b561b..4f7b5f1e 100644 --- a/installers/win-setup-template.ps1 +++ b/installers/win-setup-template.ps1 @@ -126,11 +126,6 @@ if ($LASTEXITCODE -ne 0) { Throw "Error happened during Python installation" } -# print out all files in $PythonArchPath -Write-Host "Files in $PythonArchPath" -$files = Get-ChildItem -Path $PythonArchPath -File -Recurse -Write-Output $files - if ($IsFreeThreaded) { # Delete python.exe and create a symlink to free-threaded exe Remove-Item -Path "$PythonArchPath\python.exe" -Force From 2eea8c8fed46ce44e218d6a137da53c1f8982d36 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 27 May 2025 20:36:58 +0200 Subject: [PATCH 7/8] chore: use windows-11-arm runner instead of custom one (#338) This allows contributors to test on GitHub hosted Windows ARM64 runners easily now that those runners are available for free for public repositories --- .github/workflows/build-python-packages.yml | 57 ++------------------- 1 file changed, 3 insertions(+), 54 deletions(-) diff --git a/.github/workflows/build-python-packages.yml b/.github/workflows/build-python-packages.yml index cd476b59..e4639a30 100644 --- a/.github/workflows/build-python-packages.yml +++ b/.github/workflows/build-python-packages.yml @@ -20,7 +20,7 @@ on: PLATFORMS: description: 'Platforms for execution in "os" or "os_arch" format (arch is "x64" by default)' required: true - default: 'ubuntu-22.04,ubuntu-22.04_arm64,ubuntu-24.04,ubuntu-24.04_arm64,macos-13_x64,macos-14_arm64,windows-2019_x64,windows-2019_x86,windows-2019_arm64' + default: 'ubuntu-22.04,ubuntu-22.04_arm64,ubuntu-24.04,ubuntu-24.04_arm64,macos-13_x64,macos-14_arm64,windows-2019_x64,windows-2019_x86,windows-11_arm64' pull_request: paths-ignore: - 'versions-manifest.json' @@ -44,7 +44,7 @@ jobs: - name: Generate execution matrix id: generate-matrix run: | - [String[]]$configurations = "${{ inputs.platforms || 'ubuntu-22.04,ubuntu-22.04_arm64,ubuntu-24.04,ubuntu-24.04_arm64,macos-13,macos-14_arm64,windows-2019_x64,windows-2019_x86,windows-2019_arm64' }}".Split(",").Trim() + [String[]]$configurations = "${{ inputs.platforms || 'ubuntu-22.04,ubuntu-22.04_arm64,ubuntu-24.04,ubuntu-24.04_arm64,macos-13,macos-14_arm64,windows-2019_x64,windows-2019_x86,windows-11_arm64' }}".Split(",").Trim() [String[]]$buildModes = "${{ inputs.threading_build_modes || 'default' }}".Split(",").Trim() $matrix = @() @@ -56,11 +56,7 @@ jobs: switch -wildcard ($os) { "*ubuntu*" { $platform = $os.Replace("ubuntu","linux"); if ($arch -eq "arm64" ) { $os = "${os}-arm" } } "*macos*" { $platform = 'darwin' } - "*windows*" { $platform = 'win32' } - } - - if ($configuration -eq "windows-2019_arm64") { - $os = "setup-actions-windows-arm64-4-core" + "*windows*" { $platform = 'win32'; if ($arch -eq "arm64" ) { $os = "${os}-arm" } } } if ($buildMode -eq "freethreaded") { @@ -89,30 +85,6 @@ jobs: env: ARTIFACT_NAME: python-${{ inputs.VERSION || '3.12.3' }}-${{ matrix.platform }}-${{ matrix.arch }} steps: - - name: Setup Environment on Windows ARM64 Runner - if: matrix.os == 'setup-actions-windows-arm64-4-core' - shell: powershell - run: | - # Install Chocolatey - Set-ExecutionPolicy Bypass -Scope Process -Force - [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072 - iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) - echo "C:\ProgramData\Chocolatey\bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 - - # Install PowerShell - choco install powershell-core -y - echo "C:\Program Files\PowerShell\7" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 - - # Install Git - choco install git -y - echo "C:\Program Files\Git\cmd" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 - - - # Install 7-Zip - choco install 7zip -y - echo "C:\ProgramData\chocolatey\bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 - - - name: Check out repository code uses: actions/checkout@v4 with: @@ -144,29 +116,6 @@ jobs: env: ARTIFACT_NAME: python-${{ inputs.VERSION || '3.12.3' }}-${{ matrix.platform }}-${{ matrix.arch }} steps: - - name: Setup Environment on Windows ARM64 Runner - if: matrix.os == 'setup-actions-windows-arm64-4-core' - shell: powershell - run: | - # Install Chocolatey - Set-ExecutionPolicy Bypass -Scope Process -Force - [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072 - iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) - echo "C:\ProgramData\Chocolatey\bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 - - # Install PowerShell - choco install powershell-core -y - echo "C:\Program Files\PowerShell\7" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 - - # Install Git - choco install git -y - echo "C:\Program Files\Git\cmd" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 - - - # Install 7-Zip - choco install 7zip -y - echo "C:\ProgramData\chocolatey\bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 - - name: Check out repository code uses: actions/checkout@v4 with: From bcf6ecc82e988c173553682747c0510cc0dcdd9f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 00:12:01 -0500 Subject: [PATCH 8/8] Update versions-manifest (#341) Co-authored-by: Service account --- versions-manifest.json | 123 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) diff --git a/versions-manifest.json b/versions-manifest.json index 62bd6338..83a6bf76 100644 --- a/versions-manifest.json +++ b/versions-manifest.json @@ -1,4 +1,127 @@ [ + { + "version": "3.14.0-beta.2", + "stable": false, + "release_url": "https://github.com/actions/python-versions/releases/tag/3.14.0-beta.2-15277397803", + "files": [ + { + "filename": "python-3.14.0-beta.2-darwin-arm64-freethreaded.tar.gz", + "arch": "arm64-freethreaded", + "platform": "darwin", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.2-15277397803/python-3.14.0-beta.2-darwin-arm64-freethreaded.tar.gz" + }, + { + "filename": "python-3.14.0-beta.2-darwin-arm64.tar.gz", + "arch": "arm64", + "platform": "darwin", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.2-15277397803/python-3.14.0-beta.2-darwin-arm64.tar.gz" + }, + { + "filename": "python-3.14.0-beta.2-darwin-x64-freethreaded.tar.gz", + "arch": "x64-freethreaded", + "platform": "darwin", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.2-15277397803/python-3.14.0-beta.2-darwin-x64-freethreaded.tar.gz" + }, + { + "filename": "python-3.14.0-beta.2-darwin-x64.tar.gz", + "arch": "x64", + "platform": "darwin", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.2-15277397803/python-3.14.0-beta.2-darwin-x64.tar.gz" + }, + { + "filename": "python-3.14.0-beta.2-linux-22.04-arm64-freethreaded.tar.gz", + "arch": "arm64-freethreaded", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.2-15277397803/python-3.14.0-beta.2-linux-22.04-arm64-freethreaded.tar.gz" + }, + { + "filename": "python-3.14.0-beta.2-linux-22.04-arm64.tar.gz", + "arch": "arm64", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.2-15277397803/python-3.14.0-beta.2-linux-22.04-arm64.tar.gz" + }, + { + "filename": "python-3.14.0-beta.2-linux-22.04-x64-freethreaded.tar.gz", + "arch": "x64-freethreaded", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.2-15277397803/python-3.14.0-beta.2-linux-22.04-x64-freethreaded.tar.gz" + }, + { + "filename": "python-3.14.0-beta.2-linux-22.04-x64.tar.gz", + "arch": "x64", + "platform": "linux", + "platform_version": "22.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.2-15277397803/python-3.14.0-beta.2-linux-22.04-x64.tar.gz" + }, + { + "filename": "python-3.14.0-beta.2-linux-24.04-arm64-freethreaded.tar.gz", + "arch": "arm64-freethreaded", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.2-15277397803/python-3.14.0-beta.2-linux-24.04-arm64-freethreaded.tar.gz" + }, + { + "filename": "python-3.14.0-beta.2-linux-24.04-arm64.tar.gz", + "arch": "arm64", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.2-15277397803/python-3.14.0-beta.2-linux-24.04-arm64.tar.gz" + }, + { + "filename": "python-3.14.0-beta.2-linux-24.04-x64-freethreaded.tar.gz", + "arch": "x64-freethreaded", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.2-15277397803/python-3.14.0-beta.2-linux-24.04-x64-freethreaded.tar.gz" + }, + { + "filename": "python-3.14.0-beta.2-linux-24.04-x64.tar.gz", + "arch": "x64", + "platform": "linux", + "platform_version": "24.04", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.2-15277397803/python-3.14.0-beta.2-linux-24.04-x64.tar.gz" + }, + { + "filename": "python-3.14.0-beta.2-win32-arm64-freethreaded.zip", + "arch": "arm64-freethreaded", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.2-15277397803/python-3.14.0-beta.2-win32-arm64-freethreaded.zip" + }, + { + "filename": "python-3.14.0-beta.2-win32-arm64.zip", + "arch": "arm64", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.2-15277397803/python-3.14.0-beta.2-win32-arm64.zip" + }, + { + "filename": "python-3.14.0-beta.2-win32-x64-freethreaded.zip", + "arch": "x64-freethreaded", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.2-15277397803/python-3.14.0-beta.2-win32-x64-freethreaded.zip" + }, + { + "filename": "python-3.14.0-beta.2-win32-x64.zip", + "arch": "x64", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.2-15277397803/python-3.14.0-beta.2-win32-x64.zip" + }, + { + "filename": "python-3.14.0-beta.2-win32-x86-freethreaded.zip", + "arch": "x86-freethreaded", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.2-15277397803/python-3.14.0-beta.2-win32-x86-freethreaded.zip" + }, + { + "filename": "python-3.14.0-beta.2-win32-x86.zip", + "arch": "x86", + "platform": "win32", + "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-beta.2-15277397803/python-3.14.0-beta.2-win32-x86.zip" + } + ] + }, { "version": "3.14.0-beta.1", "stable": false,