From 0f3de101686b775d347163b0b026166c845a977b Mon Sep 17 00:00:00 2001 From: Zanie Blue Date: Wed, 9 Apr 2025 10:43:33 -0500 Subject: [PATCH] Include free-threaded Python in published musl distributions --- .github/workflows/release.yml | 1 - src/release.rs | 25 +++++++++++++++++++++---- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7a06d07e..ce803392 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,6 @@ env: permissions: contents: write packages: write - releases: wrte # Permissions used for actions/attest-build-provenance id-token: write attestations: write diff --git a/src/release.rs b/src/release.rs index 9d6ec083..e0b616a2 100644 --- a/src/release.rs +++ b/src/release.rs @@ -141,6 +141,11 @@ pub static RELEASE_TRIPLES: Lazy> = Lazy:: "lto+static", "noopt+static", ]; + let linux_suffixes_musl_freethreaded = vec![ + "debug+freethreaded", + "lto+freethreaded", + "noopt+freethreaded", + ]; let linux_suffixes_pgo_freethreaded = vec!["freethreaded+debug", "freethreaded+pgo+lto"]; let linux_suffixes_nopgo_freethreaded = vec![ "freethreaded+debug", @@ -280,7 +285,10 @@ pub static RELEASE_TRIPLES: Lazy> = Lazy:: suffixes: linux_suffixes_musl.clone(), install_only_suffix: "lto", python_version_requirement: None, - conditional_suffixes: vec![], + conditional_suffixes: vec![ConditionalSuffixes { + python_version_requirement: VersionSpecifier::from_str(">=3.13").unwrap(), + suffixes: linux_suffixes_musl_freethreaded.clone(), + }], }, ); h.insert( @@ -289,7 +297,10 @@ pub static RELEASE_TRIPLES: Lazy> = Lazy:: suffixes: linux_suffixes_musl.clone(), install_only_suffix: "lto", python_version_requirement: None, - conditional_suffixes: vec![], + conditional_suffixes: vec![ConditionalSuffixes { + python_version_requirement: VersionSpecifier::from_str(">=3.13").unwrap(), + suffixes: linux_suffixes_musl_freethreaded.clone(), + }], }, ); h.insert( @@ -298,7 +309,10 @@ pub static RELEASE_TRIPLES: Lazy> = Lazy:: suffixes: linux_suffixes_musl.clone(), install_only_suffix: "lto", python_version_requirement: None, - conditional_suffixes: vec![], + conditional_suffixes: vec![ConditionalSuffixes { + python_version_requirement: VersionSpecifier::from_str(">=3.13").unwrap(), + suffixes: linux_suffixes_musl_freethreaded.clone(), + }], }, ); h.insert( @@ -307,7 +321,10 @@ pub static RELEASE_TRIPLES: Lazy> = Lazy:: suffixes: linux_suffixes_musl.clone(), install_only_suffix: "lto", python_version_requirement: None, - conditional_suffixes: vec![], + conditional_suffixes: vec![ConditionalSuffixes { + python_version_requirement: VersionSpecifier::from_str(">=3.13").unwrap(), + suffixes: linux_suffixes_musl_freethreaded.clone(), + }], }, );