Allow fallback to Python download on non-critical discovery errors#10908
Merged
Allow fallback to Python download on non-critical discovery errors#10908
Conversation
c1de56e to
41c10ea
Compare
zanieb
commented
Jan 23, 2025
Comment on lines
+111
to
+112
| // If we raised a non-critical error, we should attempt a download | ||
| Error::Discovery(ref err) if !err.is_critical() => {} |
Member
Author
There was a problem hiding this comment.
This is the key change. The rest is just refactoring so we can match on multiple error types cleanly.
Member
Author
|
I want to add test coverage, but reviews are welcome — this is important to get out today. |
zanieb
commented
Jan 23, 2025
| match Self::find(request, environments, preference, cache) { | ||
| Ok(venv) => Ok(venv), | ||
| // If missing and allowed, perform a fetch | ||
| Err(Error::MissingPython(err)) |
Member
Author
There was a problem hiding this comment.
Gankra
approved these changes
Jan 23, 2025
charliermarsh
approved these changes
Jan 23, 2025
41c10ea to
c6380cd
Compare
e7d5324 to
e9043f2
Compare
c6380cd to
2817770
Compare
|
Thanks for this! We hit this bug just today, and I was literally in the process of writing up a bug report ten minutes ago and couldn't figure out how to reproduce it. Turns out we hit the bug with |
Member
Author
|
That's great to hear! I figured someone else would hit it quickly 😬 |
|
Thank you for the quick fix! All is working nicely now. |
tmeijn
pushed a commit
to tmeijn/dotfiles
that referenced
this pull request
Jan 26, 2025
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.5.22` -> `0.5.24` | 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.5.24`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0524) [Compare Source](astral-sh/uv@0.5.23...0.5.24) ##### Enhancements - Improve determinism of resolution by always setting package priorities ([#​10853](astral-sh/uv#10853)) - Upgrade to `cargo-dist` 0.28.0; improves several installer behaviors ([#​10884](astral-sh/uv#10884)) ##### Performance - Remove dependencies clone in resolver ([#​10880](astral-sh/uv#10880)) - Use Hashbrown's raw entry API to reduce hashes and clone in resolver priority determination ([#​10881](astral-sh/uv#10881)) ##### Bug fixes - Allow fallback to Python download on non-critical discovery errors ([#​10908](astral-sh/uv#10908)) ##### Preview features - Register managed Python version with the Windows Registry (PEP 514) ([#​10634](astral-sh/uv#10634)) ##### Documentation - Improve documentation for some environment variables ([#​10887](astral-sh/uv#10887)) - Add git subdirectory example ([#​10894](astral-sh/uv#10894)) ### [`v0.5.23`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0523) [Compare Source](astral-sh/uv@0.5.22...0.5.23) ##### Enhancements - Add `--refresh` to `uv venv` ([#​10834](astral-sh/uv#10834)) - Add `--no-default-groups` command-line flag ([#​10618](astral-sh/uv#10618)) ##### Bug fixes - Sort extras and groups when comparing lockfile requirements ([#​10856](astral-sh/uv#10856)) - Include `commit_id` and `requested_revision` in `direct_url.json` ([#​10862](astral-sh/uv#10862)) - Invalidate lockfile when static versions change ([#​10858](astral-sh/uv#10858)) - Make GitHub fast path errors non-fatal ([#​10859](astral-sh/uv#10859)) - Remove warnings for `--frozen` and `--locked` in `uv run --script` ([#​10840](astral-sh/uv#10840)) - Resolve `find-links` paths relative to the configuration file ([#​10827](astral-sh/uv#10827)) - Respect visitation order for proxy packages ([#​10833](astral-sh/uv#10833)) - Treat version mismatch errors as non-fatal in fast paths ([#​10860](astral-sh/uv#10860)) - Mark `--locked` and `--upgrade` are conflicting ([#​10836](astral-sh/uv#10836)) - Relax error checking around unconditional enabling of conflicting extras ([#​10875](astral-sh/uv#10875)) ##### Documentation - Reduce ambiguity in conflicting extras example ([#​10877](astral-sh/uv#10877)) - Update pre-commit documentation ([#​10756](astral-sh/uv#10756)) ##### Error messages - Error when workspace contains conflicting Python requirements ([#​10841](astral-sh/uv#10841)) - Improve uvx error message when uv is missing ([#​9745](astral-sh/uv#9745)) </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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMjIuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEyNC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
This was referenced Jan 28, 2025
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.
Closes #10898
In #10716, I broke fallback to downloading Python versions by throwing a different error kind.