Repository navigation
Conversation
This branch has not been deployed
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.
--prebuiltcurrently treats a cached source tree as a completed binary download. After a failed--sourcebuild it copies that tree into the environment; when both source and prebuilt trees remain, copying fails with multiple glob matches.Keep source reuse for source builds, and require the version's trailing
-when locating a prebuilt tree. Existing binary downloads and the arm64-to-x64 fallback keep their current behavior.Fixes #443.
Tests cover the change, including source/binary cache combinations, platform layouts, version prefixes and x64 fallback with real directory copying
CHANGEShas an unreleased entryREADME.rst: no documentation change neededTitle uses
type(scope): subjecttox -e py314passes: 401 passed, 29 skipped, 11 integration tests deselected; flake8 passedThe focused regression set fails 5 of 9 cases on unchanged master and passes all 9 with the fix. Five independent CLI scenarios using local HTTP and stub archives pass, including a failed source build followed by prebuilt installation, both trees retained, source cache reuse and a real HTTP 404 triggering the x64 fallback. These exercise installation, activation and HTTP fallback with controlled archives.
Two further installation passes on macOS arm64 used the official Node.js 24.0.0 archive, verified against its published SHA256. With a seeded source-cache directory, the original code failed before creating
bin/activate; the fix installed and ran Node.js 24.0.0 and bundled npm 11.3.0 from the target environment.--no-clean-srcretained both trees without copying the source marker into the environment root; a subsequent--force --prebuilt --clean-srcinstallation removedsrcand left Node/npm working. This checks a real native binary distribution; Node.js source compilation was not exercised.#447 touches the same glob line to escape literal path characters. An isolated combination retaining both changes passed 18 focused cases and the same five CLI scenarios with brackets in the temporary path. The shared line will need to retain both
glob.escapeand-*when the changes are combined.