fix: refresh activation scripts from upstream virtualenv#15272
fix: refresh activation scripts from upstream virtualenv#15272zanieb merged 3 commits intoastral-sh:mainfrom 2bndy5:activations-scripts-from-upstream-virtualenv
Conversation
|
Since you mentioned it in the issue, we could do another testing strategy within our test suite, e.g., we'd add a new |
|
I would actually leverage No one should be running |
|
Are you referring to |
|
My bad, I mis-read some function calls in |
|
The trampoline is a distinct binary — it's never run in the same process as a test. Similarly, most of uv's tests are integration tests that spawn a subprocess and, for the ones that don't, we're just setting a variable to the path of the uv binary, which is always safe when running concurrent instances of the same uv binary. |
|
@zanieb What are the requirements of the requested test(s)? I added a nushell activation test. Do you want more tests for all other supported shell(s)? I'm of the impression that nushell needed a test to detect breakages because nushell is still in v0.x. I have only ever used bash and pwsh (with much reluctance). |
|
It'd be ideal to have test coverage for them all, but I don't think it's necessary to do here! Especially if you're reluctant :) We can open an issue to track it. |
|
I opened #15294 to summarize the effort towards properly testing venv activation scripts |
This comment was marked as resolved.
This comment was marked as resolved.
use gh-cli to download nushell binary and add it to PATH
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.8.15` -> `0.8.17` | MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot). **Proposed changes to behavior should be submitted there as MRs.** --- ### Release Notes <details> <summary>astral-sh/uv (astral-sh/uv)</summary> ### [`v0.8.17`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0817) [Compare Source](astral-sh/uv@0.8.16...0.8.17) Released on 2025-09-10. ##### Enhancements - Improve error message for HTTP validation in auth services ([#​15768](astral-sh/uv#15768)) - Respect `PYX_API_URL` when suggesting `uv auth login` on 401 ([#​15774](astral-sh/uv#15774)) - Add pyx as a supported PyTorch index URL ([#​15769](astral-sh/uv#15769)) ##### Bug fixes - Avoid initiating login flow for invalid API keys ([#​15773](astral-sh/uv#15773)) - Do not search for a password for requests with a token attached already ([#​15772](astral-sh/uv#15772)) - Filter pre-release Python versions in `uv init --script` ([#​15747](astral-sh/uv#15747)) ### [`v0.8.16`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0816) [Compare Source](astral-sh/uv@0.8.15...0.8.16) ##### Enhancements - Allow `--editable` to override `editable = false` annotations ([#​15712](astral-sh/uv#15712)) - Allow `editable = false` for workspace sources ([#​15708](astral-sh/uv#15708)) - Show a dedicated error for virtual environments in source trees on build ([#​15748](astral-sh/uv#15748)) - Support Android platform tags ([#​15646](astral-sh/uv#15646)) - Support iOS platform tags ([#​15640](astral-sh/uv#15640)) - Support scripts with inline metadata in `--with-requirements` and `--requirements` ([#​12763](astral-sh/uv#12763)) ##### Preview features - Support `--no-project` in `uv format` ([#​15572](astral-sh/uv#15572)) - Allow `uv format` in unmanaged projects ([#​15553](astral-sh/uv#15553)) ##### Bug fixes - Avoid erroring when `match-runtime` target is optional ([#​15671](astral-sh/uv#15671)) - Ban empty usernames and passwords in `uv auth` ([#​15743](astral-sh/uv#15743)) - Error early for parent path in build backend ([#​15733](astral-sh/uv#15733)) - Retry on IO errors during HTTP/2 streaming ([#​15675](astral-sh/uv#15675)) - Support recursive requirements and constraints inclusion ([#​15657](astral-sh/uv#15657)) - Use token store credentials for `uv publish` ([#​15759](astral-sh/uv#15759)) - Fix virtual environment activation script compatibility with latest nushell ([#​15272](astral-sh/uv#15272)) - Skip Python interpreters that cannot be queried with permission errors ([#​15685](astral-sh/uv#15685)) ##### Documentation - Clarify that `uv auth` commands take a URL ([#​15664](astral-sh/uv#15664)) - Improve the CLI help for options that accept requirements files ([#​15706](astral-sh/uv#15706)) - Adds example for caching for managed Python downloads in Docker builds ([#​15689](astral-sh/uv#15689)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45OC4xIiwidXBkYXRlZEluVmVyIjoiNDEuOTkuNiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
Summary
This refreshes the venv activation scripts from upstream
virtualenvproject.This was largely triggered by a problem in the activate.nu script (for nushell):
I was careful to respect the git history going back to #3376 (the last time this was done).⁉️ ), but I found nothing (about activation scripts) from back then that hasn't been overwritten since.
Actually I looked at the complete history from back when this
uv-virtualenvcrate was named after a Pokémon (Some post-processing was involved
{{ BIN_PATH }}) to assure current support toward relocatable venvNotable changes from upstream
Test Plan
There was a request in #14917 to add unit tests to detect breakage or errors.
I have added a CI job that runs the nushell activation script.
But I think it is better to have the CI test all/most supported shells.
See also #15294
I have tested this locally using