Make pip_library zip safety end-to-end tests self-contained#256
Merged
chrisnovakovic merged 1 commit intoplease-build:masterfrom Oct 14, 2025
Merged
Conversation
The end-to-end tests that check whether `pip_library` correctly applies the `py:zip-unsafe` label to a zip-unsafe target depend on two third-party Python modules, PyYAML and grpcio. The pre-built wheels on PyPI are architecture-specific, so their versions have to be kept in line with ones for which pre-built wheels are available on PyPI (otherwise pip will take > 10 minutes and a lot of resources to build them from source); even when a pre-built wheel is available for the SOABI in question, the download is disproportionately large for such a simple test (7-12MB for grpcio, depending on the SOABI). Replace the `pip_library` zip safety tests with a single, fully self-contained e2e test that occurs within an e2e-specific Please repo, requiring no downloads from PyPI.
toastwaffle
approved these changes
Oct 14, 2025
Contributor
Author
|
The Python 3.14/stable please_pex test is several orders of magnitude faster now, which was the impetus for making this change - previously this test would take over 10 minutes to execute and would occasionally time out while pip built grpcio from source. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The end-to-end tests that check whether
pip_librarycorrectly applies thepy:zip-unsafelabel to a zip-unsafe target depend on two third-party Python modules, PyYAML and grpcio. The pre-built wheels on PyPI are architecture-specific, so their versions have to be kept in line with ones for which pre-built wheels are available on PyPI (otherwise pip will take > 10 minutes and a lot of resources to build them from source); even when a pre-built wheel is available for the SOABI in question, the download is disproportionately large for such a simple test (7-12MB for grpcio, depending on the SOABI).Replace the
pip_libraryzip safety tests with a single, fully self-contained e2e test that occurs within an e2e-specific Please repo, requiring no downloads from PyPI.