Compare commits

..

2 Commits

Author SHA1 Message Date
github-actions[bot]
3854fb534e Update versions-manifest (#333)
Co-authored-by: Service account <no-reply@microsoft.com>
2025-02-24 12:29:37 -06:00
Sam Gross
d456108e6b Support building free-threaded CPython (#319)
* Support building free-threaded CPython

Add support for Python's free threading build mode where the global
interpreter lock is disabled. The packages are marked using a suffix on
the architecture, like 'x64-freethreaded' or 'arm64-freethreaded'.

* Match '-freethreaded' in arch

* Use type 'string' instead of 'str'

* On Linux, only delete Python installations with the same architecture.

This matches the macOS behavior and allows users to install both the
free-threading and default builds at the same time.
2025-02-20 08:42:21 -06:00
2 changed files with 155 additions and 25 deletions

View File

@@ -60,15 +60,15 @@ else:
if os_type == 'Darwin': if os_type == 'Darwin':
### Validate openssl links ### Validate openssl links
if version_major == 3 and version_minor < 7: if version_major == 3 and version_minor < 7:
expected_ldflags = '-L/usr/local/opt/openssl@1.1/lib' expected_ldflags = '-L/usr/local/opt/openssl@3/lib'
ldflags = sysconfig.get_config_var('LDFLAGS') ldflags = sysconfig.get_config_var('LDFLAGS')
if not expected_ldflags in ldflags: if not expected_ldflags in ldflags:
print('Invalid ldflags: %s; Expected: %s' % (ldflags, expected_ldflags)) print('Invalid ldflags: %s; Expected: %s' % (ldflags, expected_ldflags))
exit(1) exit(1)
else: else:
expected_openssl_includes = '-I/usr/local/opt/openssl@1.1/include' expected_openssl_includes = '-I/usr/local/opt/openssl@3/include'
expected_openssl_ldflags ='-L/usr/local/opt/openssl@1.1/lib' expected_openssl_ldflags ='-L/usr/local/opt/openssl@3/lib'
openssl_includes = sysconfig.get_config_var('OPENSSL_INCLUDES') openssl_includes = sysconfig.get_config_var('OPENSSL_INCLUDES')
openssl_ldflags = sysconfig.get_config_var('OPENSSL_LDFLAGS') openssl_ldflags = sysconfig.get_config_var('OPENSSL_LDFLAGS')

View File

@@ -2,72 +2,137 @@
{ {
"version": "3.14.0-alpha.5", "version": "3.14.0-alpha.5",
"stable": false, "stable": false,
"release_url": "https://github.com/actions/python-versions/releases/tag/3.14.0-alpha.5-13277286886", "release_url": "https://github.com/actions/python-versions/releases/tag/3.14.0-alpha.5-13438582588",
"files": [ "files": [
{
"filename": "python-3.14.0-alpha.5-darwin-arm64-freethreaded.tar.gz",
"arch": "arm64-freethreaded",
"platform": "darwin",
"download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13438582588/python-3.14.0-alpha.5-darwin-arm64-freethreaded.tar.gz"
},
{ {
"filename": "python-3.14.0-alpha.5-darwin-arm64.tar.gz", "filename": "python-3.14.0-alpha.5-darwin-arm64.tar.gz",
"arch": "arm64", "arch": "arm64",
"platform": "darwin", "platform": "darwin",
"download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13277286886/python-3.14.0-alpha.5-darwin-arm64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13438582588/python-3.14.0-alpha.5-darwin-arm64.tar.gz"
},
{
"filename": "python-3.14.0-alpha.5-darwin-x64-freethreaded.tar.gz",
"arch": "x64-freethreaded",
"platform": "darwin",
"download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13438582588/python-3.14.0-alpha.5-darwin-x64-freethreaded.tar.gz"
}, },
{ {
"filename": "python-3.14.0-alpha.5-darwin-x64.tar.gz", "filename": "python-3.14.0-alpha.5-darwin-x64.tar.gz",
"arch": "x64", "arch": "x64",
"platform": "darwin", "platform": "darwin",
"download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13277286886/python-3.14.0-alpha.5-darwin-x64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13438582588/python-3.14.0-alpha.5-darwin-x64.tar.gz"
},
{
"filename": "python-3.14.0-alpha.5-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.5-13438582588/python-3.14.0-alpha.5-linux-20.04-x64-freethreaded.tar.gz"
}, },
{ {
"filename": "python-3.14.0-alpha.5-linux-20.04-x64.tar.gz", "filename": "python-3.14.0-alpha.5-linux-20.04-x64.tar.gz",
"arch": "x64", "arch": "x64",
"platform": "linux", "platform": "linux",
"platform_version": "20.04", "platform_version": "20.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13277286886/python-3.14.0-alpha.5-linux-20.04-x64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13438582588/python-3.14.0-alpha.5-linux-20.04-x64.tar.gz"
},
{
"filename": "python-3.14.0-alpha.5-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.5-13438582588/python-3.14.0-alpha.5-linux-22.04-arm64-freethreaded.tar.gz"
}, },
{ {
"filename": "python-3.14.0-alpha.5-linux-22.04-arm64.tar.gz", "filename": "python-3.14.0-alpha.5-linux-22.04-arm64.tar.gz",
"arch": "arm64", "arch": "arm64",
"platform": "linux", "platform": "linux",
"platform_version": "22.04", "platform_version": "22.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13277286886/python-3.14.0-alpha.5-linux-22.04-arm64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13438582588/python-3.14.0-alpha.5-linux-22.04-arm64.tar.gz"
},
{
"filename": "python-3.14.0-alpha.5-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.5-13438582588/python-3.14.0-alpha.5-linux-22.04-x64-freethreaded.tar.gz"
}, },
{ {
"filename": "python-3.14.0-alpha.5-linux-22.04-x64.tar.gz", "filename": "python-3.14.0-alpha.5-linux-22.04-x64.tar.gz",
"arch": "x64", "arch": "x64",
"platform": "linux", "platform": "linux",
"platform_version": "22.04", "platform_version": "22.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13277286886/python-3.14.0-alpha.5-linux-22.04-x64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13438582588/python-3.14.0-alpha.5-linux-22.04-x64.tar.gz"
},
{
"filename": "python-3.14.0-alpha.5-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.5-13438582588/python-3.14.0-alpha.5-linux-24.04-arm64-freethreaded.tar.gz"
}, },
{ {
"filename": "python-3.14.0-alpha.5-linux-24.04-arm64.tar.gz", "filename": "python-3.14.0-alpha.5-linux-24.04-arm64.tar.gz",
"arch": "arm64", "arch": "arm64",
"platform": "linux", "platform": "linux",
"platform_version": "24.04", "platform_version": "24.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13277286886/python-3.14.0-alpha.5-linux-24.04-arm64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13438582588/python-3.14.0-alpha.5-linux-24.04-arm64.tar.gz"
},
{
"filename": "python-3.14.0-alpha.5-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.5-13438582588/python-3.14.0-alpha.5-linux-24.04-x64-freethreaded.tar.gz"
}, },
{ {
"filename": "python-3.14.0-alpha.5-linux-24.04-x64.tar.gz", "filename": "python-3.14.0-alpha.5-linux-24.04-x64.tar.gz",
"arch": "x64", "arch": "x64",
"platform": "linux", "platform": "linux",
"platform_version": "24.04", "platform_version": "24.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13277286886/python-3.14.0-alpha.5-linux-24.04-x64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13438582588/python-3.14.0-alpha.5-linux-24.04-x64.tar.gz"
},
{
"filename": "python-3.14.0-alpha.5-win32-arm64-freethreaded.zip",
"arch": "arm64-freethreaded",
"platform": "win32",
"download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13438582588/python-3.14.0-alpha.5-win32-arm64-freethreaded.zip"
}, },
{ {
"filename": "python-3.14.0-alpha.5-win32-arm64.zip", "filename": "python-3.14.0-alpha.5-win32-arm64.zip",
"arch": "arm64", "arch": "arm64",
"platform": "win32", "platform": "win32",
"download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13277286886/python-3.14.0-alpha.5-win32-arm64.zip" "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13438582588/python-3.14.0-alpha.5-win32-arm64.zip"
},
{
"filename": "python-3.14.0-alpha.5-win32-x64-freethreaded.zip",
"arch": "x64-freethreaded",
"platform": "win32",
"download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13438582588/python-3.14.0-alpha.5-win32-x64-freethreaded.zip"
}, },
{ {
"filename": "python-3.14.0-alpha.5-win32-x64.zip", "filename": "python-3.14.0-alpha.5-win32-x64.zip",
"arch": "x64", "arch": "x64",
"platform": "win32", "platform": "win32",
"download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13277286886/python-3.14.0-alpha.5-win32-x64.zip" "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13438582588/python-3.14.0-alpha.5-win32-x64.zip"
},
{
"filename": "python-3.14.0-alpha.5-win32-x86-freethreaded.zip",
"arch": "x86-freethreaded",
"platform": "win32",
"download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13438582588/python-3.14.0-alpha.5-win32-x86-freethreaded.zip"
}, },
{ {
"filename": "python-3.14.0-alpha.5-win32-x86.zip", "filename": "python-3.14.0-alpha.5-win32-x86.zip",
"arch": "x86", "arch": "x86",
"platform": "win32", "platform": "win32",
"download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13277286886/python-3.14.0-alpha.5-win32-x86.zip" "download_url": "https://github.com/actions/python-versions/releases/download/3.14.0-alpha.5-13438582588/python-3.14.0-alpha.5-win32-x86.zip"
} }
] ]
}, },
@@ -476,72 +541,137 @@
{ {
"version": "3.13.1", "version": "3.13.1",
"stable": true, "stable": true,
"release_url": "https://github.com/actions/python-versions/releases/tag/3.13.1-12154081405", "release_url": "https://github.com/actions/python-versions/releases/tag/3.13.1-13437882550",
"files": [ "files": [
{
"filename": "python-3.13.1-darwin-arm64-freethreaded.tar.gz",
"arch": "arm64-freethreaded",
"platform": "darwin",
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-13437882550/python-3.13.1-darwin-arm64-freethreaded.tar.gz"
},
{ {
"filename": "python-3.13.1-darwin-arm64.tar.gz", "filename": "python-3.13.1-darwin-arm64.tar.gz",
"arch": "arm64", "arch": "arm64",
"platform": "darwin", "platform": "darwin",
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-12154081405/python-3.13.1-darwin-arm64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-13437882550/python-3.13.1-darwin-arm64.tar.gz"
},
{
"filename": "python-3.13.1-darwin-x64-freethreaded.tar.gz",
"arch": "x64-freethreaded",
"platform": "darwin",
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-13437882550/python-3.13.1-darwin-x64-freethreaded.tar.gz"
}, },
{ {
"filename": "python-3.13.1-darwin-x64.tar.gz", "filename": "python-3.13.1-darwin-x64.tar.gz",
"arch": "x64", "arch": "x64",
"platform": "darwin", "platform": "darwin",
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-12154081405/python-3.13.1-darwin-x64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-13437882550/python-3.13.1-darwin-x64.tar.gz"
},
{
"filename": "python-3.13.1-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.1-13437882550/python-3.13.1-linux-20.04-x64-freethreaded.tar.gz"
}, },
{ {
"filename": "python-3.13.1-linux-20.04-x64.tar.gz", "filename": "python-3.13.1-linux-20.04-x64.tar.gz",
"arch": "x64", "arch": "x64",
"platform": "linux", "platform": "linux",
"platform_version": "20.04", "platform_version": "20.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-12154081405/python-3.13.1-linux-20.04-x64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-13437882550/python-3.13.1-linux-20.04-x64.tar.gz"
},
{
"filename": "python-3.13.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.13.1-13437882550/python-3.13.1-linux-22.04-arm64-freethreaded.tar.gz"
}, },
{ {
"filename": "python-3.13.1-linux-22.04-arm64.tar.gz", "filename": "python-3.13.1-linux-22.04-arm64.tar.gz",
"arch": "arm64", "arch": "arm64",
"platform": "linux", "platform": "linux",
"platform_version": "22.04", "platform_version": "22.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-12154081405/python-3.13.1-linux-22.04-arm64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-13437882550/python-3.13.1-linux-22.04-arm64.tar.gz"
},
{
"filename": "python-3.13.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.13.1-13437882550/python-3.13.1-linux-22.04-x64-freethreaded.tar.gz"
}, },
{ {
"filename": "python-3.13.1-linux-22.04-x64.tar.gz", "filename": "python-3.13.1-linux-22.04-x64.tar.gz",
"arch": "x64", "arch": "x64",
"platform": "linux", "platform": "linux",
"platform_version": "22.04", "platform_version": "22.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-12154081405/python-3.13.1-linux-22.04-x64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-13437882550/python-3.13.1-linux-22.04-x64.tar.gz"
},
{
"filename": "python-3.13.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.13.1-13437882550/python-3.13.1-linux-24.04-arm64-freethreaded.tar.gz"
}, },
{ {
"filename": "python-3.13.1-linux-24.04-arm64.tar.gz", "filename": "python-3.13.1-linux-24.04-arm64.tar.gz",
"arch": "arm64", "arch": "arm64",
"platform": "linux", "platform": "linux",
"platform_version": "24.04", "platform_version": "24.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-12154081405/python-3.13.1-linux-24.04-arm64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-13437882550/python-3.13.1-linux-24.04-arm64.tar.gz"
},
{
"filename": "python-3.13.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.13.1-13437882550/python-3.13.1-linux-24.04-x64-freethreaded.tar.gz"
}, },
{ {
"filename": "python-3.13.1-linux-24.04-x64.tar.gz", "filename": "python-3.13.1-linux-24.04-x64.tar.gz",
"arch": "x64", "arch": "x64",
"platform": "linux", "platform": "linux",
"platform_version": "24.04", "platform_version": "24.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-12154081405/python-3.13.1-linux-24.04-x64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-13437882550/python-3.13.1-linux-24.04-x64.tar.gz"
},
{
"filename": "python-3.13.1-win32-arm64-freethreaded.zip",
"arch": "arm64-freethreaded",
"platform": "win32",
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-13437882550/python-3.13.1-win32-arm64-freethreaded.zip"
}, },
{ {
"filename": "python-3.13.1-win32-arm64.zip", "filename": "python-3.13.1-win32-arm64.zip",
"arch": "arm64", "arch": "arm64",
"platform": "win32", "platform": "win32",
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-12154081405/python-3.13.1-win32-arm64.zip" "download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-13437882550/python-3.13.1-win32-arm64.zip"
},
{
"filename": "python-3.13.1-win32-x64-freethreaded.zip",
"arch": "x64-freethreaded",
"platform": "win32",
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-13437882550/python-3.13.1-win32-x64-freethreaded.zip"
}, },
{ {
"filename": "python-3.13.1-win32-x64.zip", "filename": "python-3.13.1-win32-x64.zip",
"arch": "x64", "arch": "x64",
"platform": "win32", "platform": "win32",
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-12154081405/python-3.13.1-win32-x64.zip" "download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-13437882550/python-3.13.1-win32-x64.zip"
},
{
"filename": "python-3.13.1-win32-x86-freethreaded.zip",
"arch": "x86-freethreaded",
"platform": "win32",
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-13437882550/python-3.13.1-win32-x86-freethreaded.zip"
}, },
{ {
"filename": "python-3.13.1-win32-x86.zip", "filename": "python-3.13.1-win32-x86.zip",
"arch": "x86", "arch": "x86",
"platform": "win32", "platform": "win32",
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-12154081405/python-3.13.1-win32-x86.zip" "download_url": "https://github.com/actions/python-versions/releases/download/3.13.1-13437882550/python-3.13.1-win32-x86.zip"
} }
] ]
}, },