Skip to content

release: remove test extensions from install-only archives#1032

Merged
indygreg merged 1 commit intomainfrom
gps-remove-test-extensions-install-only
Mar 24, 2026
Merged

release: remove test extensions from install-only archives#1032
indygreg merged 1 commit intomainfrom
gps-remove-test-extensions-install-only

Conversation

@indygreg
Copy link
Collaborator

These extensions are only needed to support the stdlib tests, which we strip from these archives. These extensions offer no utility. So don't ship them.

This is a follow-up to #1025. Implementing as its own PR since we remove previously existing extension modules. This is backwards incompatible and deserves to be discussed on its own merits.

@indygreg indygreg requested a review from geofft March 24, 2026 00:20
@geofft
Copy link
Collaborator

geofft commented Mar 24, 2026

The breaking change is the unshipping of _ctypes_test, right? That's a very goofy extension that I think has only ever caused our users problems.

@indygreg
Copy link
Collaborator Author

The breaking change is the unshipping of _ctypes_test, right? That's a very goofy extension that I think has only ever caused our users problems.

And unshipping other _test* extensions (like _testbuffer). #1025 is only enabling _testcapi and _testlimitedcapi.

I'm curious how _ctypes_test is causing problems for your users. It was made to build as a shared module in #747. Presumably it is no longer getting imported by anything and not causing the symbol conflicts detailed by #721.

@geofft
Copy link
Collaborator

geofft commented Mar 24, 2026

#721 is what I meant - I cannot remember _ctypes_test ever doing anything good, only doing bad things. :) But yeah, I see, the other _test* modules were statically linked.

There's a sort of related question here about whether to ship the Python parts of the test suite (the test module), and I kind of think the answer is we shouldn't in install-only builds. That would also be a breaking change, so maybe there's an argument to do them both in the same release.

FWIW, I'm okay with this personally. On the python-build-standalone side, I don't think there's anything else pending we want to get out the door in the next few days, so we can cut a release with this change alone (maybe plus any PGO stuff you feel is ready). On the uv side, we did just get a breaking uv version bump (0.11.0) out the door today so we're unlikely to do another one any time soon, but we usually don't treat potentially-breaking p-b-s changes as breaking changes in uv, and again this one seems so unlikely to impact real users, so I don't think that should influence anything. But I'll defer to @zanieb and @jjhelmus if they have thoughts.

@indygreg indygreg force-pushed the gps-test-extension-shared-libraries branch from 3bc54d4 to fcdc23e Compare March 24, 2026 02:56
@indygreg indygreg force-pushed the gps-remove-test-extensions-install-only branch 2 times, most recently from b97119c to d7155be Compare March 24, 2026 02:58
@indygreg indygreg force-pushed the gps-test-extension-shared-libraries branch from fcdc23e to d5de681 Compare March 24, 2026 02:58
@zsol
Copy link
Member

zsol commented Mar 24, 2026

Out of curiosity, how much do these contribute to the artifact size?

Base automatically changed from gps-test-extension-shared-libraries to main March 24, 2026 13:24
These extensions are only needed to support the stdlib tests, which we
strip from these archives. These extensions offer no utility. So don't
ship them.
@indygreg indygreg force-pushed the gps-remove-test-extensions-install-only branch from d7155be to d6e834a Compare March 24, 2026 13:25
@indygreg indygreg merged commit 3cf8cc5 into main Mar 24, 2026
16 of 18 checks passed
@indygreg indygreg deleted the gps-remove-test-extensions-install-only branch March 24, 2026 13:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants