Skip to content

create additional install only free-threaded assets#1010

Closed
jjhelmus wants to merge 3 commits intoastral-sh:mainfrom
jjhelmus:jjh_install_only
Closed

create additional install only free-threaded assets#1010
jjhelmus wants to merge 3 commits intoastral-sh:mainfrom
jjhelmus:jjh_install_only

Conversation

@jjhelmus
Copy link
Copy Markdown
Contributor

Create install_only assets for the free-threaded builds of Python 3.13+. This is in addition to the install_only assets for the GIL configuration of these builds.

Based upon #537

Closes #536

jjhelmus and others added 2 commits March 16, 2026 17:15
Closes astral-sh#536.

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
All for a multiple install_only suffixes in each release.
@jjhelmus
Copy link
Copy Markdown
Contributor Author

Tested this by patching locally to skip downloading most artifacts:

diff --git a/src/github.rs b/src/github.rs
index c761853..816b708 100644
--- a/src/github.rs
+++ b/src/github.rs
@@ -264,6 +264,15 @@ pub async fn command_fetch_release_distributions(args: &ArgMatches) -> Result<()
                 || artifact.name.contains("dockerbuild")
                 || artifact.name.contains("crate-")
                 || artifact.name.contains("image-")
+                || artifact.name.contains("linux")
+                || artifact.name.contains("windows")
+                || artifact.name.contains("x86_64")
+                || artifact.name.contains("vcvars")
+                || artifact.name.contains("3.10")
+                || artifact.name.contains("3.11")
+                || artifact.name.contains("3.15")
+                || artifact.name.contains("debug")
             {
                 continue;
             }

Then running :

❯ cargo run --release -- fetch-release-distributions --commit 6f6aaa14b97440f29c246cd4d0accabb13cd885c --dest dist_gh --token <my_secret_token>
...
downloading artifact cpython-3.13-aarch64-apple-darwin-pgo+lto
downloading artifact cpython-3.12-aarch64-apple-darwin-pgo+lto
downloading artifact cpython-3.14-aarch64-apple-darwin-freethreaded+pgo+lto
downloading artifact cpython-3.13-aarch64-apple-darwin-freethreaded+pgo+lto
downloading artifact cpython-3.14-aarch64-apple-darwin-pgo+lto
prepared cpython-3.13.12-aarch64-apple-darwin-pgo+lto-20260310T1253.tar.zst for release
prepared cpython-3.14.3-aarch64-apple-darwin-pgo+lto-20260310T1253.tar.zst for release
prepared cpython-3.14.3-aarch64-apple-darwin-freethreaded+pgo+lto-20260310T1253.tar.zst for release
prepared cpython-3.12.13-aarch64-apple-darwin-pgo+lto-20260310T1253.tar.zst for release
prepared cpython-3.13.12-aarch64-apple-darwin-freethreaded+pgo+lto-20260310T1253.tar.zst for release
producing install_only archive from cpython-3.13.12-aarch64-apple-darwin-pgo+lto-20260310T1253.tar.zst
producing install_only archive from cpython-3.13.12-aarch64-apple-darwin-freethreaded+pgo+lto-20260310T1253.tar.zst
producing install_only archive from cpython-3.14.3-aarch64-apple-darwin-pgo+lto-20260310T1253.tar.zst
producing install_only archive from cpython-3.12.13-aarch64-apple-darwin-pgo+lto-20260310T1253.tar.zst
producing install_only archive from cpython-3.14.3-aarch64-apple-darwin-freethreaded+pgo+lto-20260310T1253.tar.zst
prepared cpython-3.12.13-aarch64-apple-darwin-install_only-20260310T1253.tar.gz for release
producing install_only_stripped archive from cpython-3.12.13-aarch64-apple-darwin-install_only-20260310T1253.tar.gz
prepared cpython-3.13.12-aarch64-apple-darwin-freethreaded-install_only-20260310T1253.tar.gz for release
producing install_only_stripped archive from cpython-3.13.12-aarch64-apple-darwin-freethreaded-install_only-20260310T1253.tar.gz
prepared cpython-3.13.12-aarch64-apple-darwin-install_only-20260310T1253.tar.gz for release
producing install_only_stripped archive from cpython-3.13.12-aarch64-apple-darwin-install_only-20260310T1253.tar.gz
prepared cpython-3.14.3-aarch64-apple-darwin-install_only-20260310T1253.tar.gz for release
producing install_only_stripped archive from cpython-3.14.3-aarch64-apple-darwin-install_only-20260310T1253.tar.gz
prepared cpython-3.14.3-aarch64-apple-darwin-freethreaded-install_only-20260310T1253.tar.gz for release
producing install_only_stripped archive from cpython-3.14.3-aarch64-apple-darwin-freethreaded-install_only-20260310T1253.tar.gz
stripped dist_gh/cpython-3.13.12-aarch64-apple-darwin-freethreaded-install_only-20260310T1253.tar.gz from 17683807 to 17606833 bytes
prepared cpython-3.13.12-aarch64-apple-darwin-freethreaded-install_only_stripped-20260310T1253.tar.gz for release
stripped dist_gh/cpython-3.13.12-aarch64-apple-darwin-install_only-20260310T1253.tar.gz from 17751298 to 17675693 bytes
prepared cpython-3.13.12-aarch64-apple-darwin-install_only_stripped-20260310T1253.tar.gz for release
stripped dist_gh/cpython-3.14.3-aarch64-apple-darwin-install_only-20260310T1253.tar.gz from 18253558 to 18168887 bytes
stripped dist_gh/cpython-3.12.13-aarch64-apple-darwin-install_only-20260310T1253.tar.gz from 17747218 to 17665553 bytes
prepared cpython-3.14.3-aarch64-apple-darwin-install_only_stripped-20260310T1253.tar.gz for release
prepared cpython-3.12.13-aarch64-apple-darwin-install_only_stripped-20260310T1253.tar.gz for release
stripped dist_gh/cpython-3.14.3-aarch64-apple-darwin-freethreaded-install_only-20260310T1253.tar.gz from 18322306 to 18235601 bytes
prepared cpython-3.14.3-aarch64-apple-darwin-freethreaded-install_only_stripped-20260310T1253.tar.gz for release

❯ ls -1 dist_gh/*install_only_stripped*
dist_gh/cpython-3.12.13-aarch64-apple-darwin-install_only_stripped-20260310T1253.tar.gz
dist_gh/cpython-3.13.12-aarch64-apple-darwin-freethreaded-install_only_stripped-20260310T1253.tar.gz
dist_gh/cpython-3.13.12-aarch64-apple-darwin-install_only_stripped-20260310T1253.tar.gz
dist_gh/cpython-3.14.3-aarch64-apple-darwin-freethreaded-install_only_stripped-20260310T1253.tar.gz
dist_gh/cpython-3.14.3-aarch64-apple-darwin-install_only_stripped-20260310T1253.tar.gz

@jjhelmus jjhelmus requested a review from zanieb March 16, 2026 23:22
Comment thread src/github.rs Outdated
@jjhelmus
Copy link
Copy Markdown
Contributor Author

This change will create the freethreaded-install_only and install_only artifacts with the fetch-release-distributions command but the release-upload-distributions command will not find the correct number of artifacts (only the install_only are considered).

I'll update and potentially go with a different approach.

@jjhelmus
Copy link
Copy Markdown
Contributor Author

closing in favor of #1014

@jjhelmus jjhelmus closed this Mar 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

freethreaded builds missing install_only artifacts

2 participants