-
Notifications
You must be signed in to change notification settings - Fork 985
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Publish: Warn when keyring has no password #8827
Merged
Merged
Conversation
This file contains 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
konstin
added
enhancement
New feature or improvement to existing functionality
preview
Experimental behavior
labels
Nov 5, 2024
konstin
temporarily deployed
to
uv-test-publish
November 5, 2024 08:46 — with
GitHub Actions
Inactive
konstin
force-pushed
the
konsti/check-keyring
branch
from
November 5, 2024 13:00
bb7bc8c
to
a5e75b2
Compare
konstin
temporarily deployed
to
uv-test-publish
November 5, 2024 13:03 — with
GitHub Actions
Inactive
konstin
temporarily deployed
to
uv-test-publish
November 5, 2024 13:52 — with
GitHub Actions
Inactive
konstin
force-pushed
the
konsti/check-keyring
branch
from
November 15, 2024 10:06
6061397
to
afb374e
Compare
konstin
temporarily deployed
to
uv-test-publish
November 15, 2024 10:09 — with
GitHub Actions
Inactive
konstin
temporarily deployed
to
uv-test-publish
November 15, 2024 10:44 — with
GitHub Actions
Inactive
konstin
force-pushed
the
konsti/check-keyring
branch
from
November 27, 2024 16:35
3433d67
to
183454f
Compare
konstin
temporarily deployed
to
uv-test-publish
November 27, 2024 16:38 — with
GitHub Actions
Inactive
zanieb
reviewed
Nov 27, 2024
zanieb
reviewed
Nov 27, 2024
crates/uv/tests/it/publish.rs
Outdated
Comment on lines
213
to
220
context | ||
.pip_install() | ||
.arg("keyring") | ||
// Contains the plaintext keyring | ||
.arg("keyrings.alt") | ||
.env_remove(EnvVars::UV_EXCLUDE_NEWER) | ||
.assert() | ||
.success(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you know we have a dedicated test keyring plugin? Might make life easier
Lines 16221 to 16272 in cc6bfa1
// Install our keyring plugin | |
keyring_context | |
.pip_install() | |
.arg( | |
keyring_context | |
.workspace_root | |
.join("scripts") | |
.join("packages") | |
.join("keyring_test_plugin"), | |
) | |
.assert() | |
.success(); | |
let context = TestContext::new("3.12"); | |
let pyproject_toml = context.temp_dir.child("pyproject.toml"); | |
pyproject_toml.write_str( | |
r#" | |
[project] | |
name = "foo" | |
version = "0.1.0" | |
requires-python = ">=3.12" | |
dependencies = ["iniconfig"] | |
[build-system] | |
requires = ["setuptools>=42"] | |
build-backend = "setuptools.build_meta" | |
[tool.uv] | |
keyring-provider = "subprocess" | |
[[tool.uv.index]] | |
name = "proxy" | |
url = "https://pypi-proxy.fly.dev/basic-auth/simple" | |
default = true | |
"#, | |
)?; | |
// Provide credentials via environment variables. | |
uv_snapshot!(context.filters(), context.lock() | |
.env(EnvVars::index_username("PROXY"), "public") | |
.env(EnvVars::KEYRING_TEST_CREDENTIALS, r#"{"pypi-proxy.fly.dev": {"public": "heron"}}"#) | |
.env(EnvVars::PATH, venv_bin_path(&keyring_context.venv)), @r###" | |
success: true | |
exit_code: 0 | |
----- stdout ----- | |
----- stderr ----- | |
Request for public@https://pypi-proxy.fly.dev/basic-auth/simple/iniconfig/ | |
Request for public@pypi-proxy.fly.dev | |
Resolved 2 packages in [TIME] | |
"###); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's neat!
konstin
temporarily deployed
to
uv-test-publish
November 27, 2024 19:25 — with
GitHub Actions
Inactive
zanieb
approved these changes
Nov 27, 2024
konstin
temporarily deployed
to
uv-test-publish
November 27, 2024 19:47 — with
GitHub Actions
Inactive
tmeijn
pushed a commit
to tmeijn/dotfiles
that referenced
this pull request
Dec 5, 2024
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.5.5` -> `0.5.6` | 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.6`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#056) [Compare Source](astral-sh/uv@0.5.5...0.5.6) ##### Enhancements - Add `--dry-run` to `uv pip uninstall` ([#​9557](astral-sh/uv#9557)) - Allow `--constraints` and `--overrides` in `uv tool install` ([#​9547](astral-sh/uv#9547)) - Display removed Python executables on uninstall ([#​9459](astral-sh/uv#9459)) - Warn when keyring has no password for `uv publish` ([#​8827](astral-sh/uv#8827)) - Add suggested action when `.python-version` pin is incompatible with the project ([#​9590](astral-sh/uv#9590)) - Improve error messages for mismatches in `tool.uv.sources` ([#​9482](astral-sh/uv#9482)) - Use constraints in trace rather than irrelevant `requires-python` ([#​9529](astral-sh/uv#9529)) ##### Preview features - Add `uv python install --default` ([#​8650](astral-sh/uv#8650)) - Fix Python executable installation when multiple patch versions are requested ([#​9607](astral-sh/uv#9607)) - Build backend: Revamp `include` / `exclude` ([#​9525](astral-sh/uv#9525)) - Build backend: Add fast path ([#​9556](astral-sh/uv#9556)) - Build backend: Add functions to collect file list ([#​9602](astral-sh/uv#9602)) - Build backend: Default excludes ([#​9552](astral-sh/uv#9552)) - Build backend: Refactoring before list ([#​9558](astral-sh/uv#9558)) - Build backend: Warn when visiting over 10k files ([#​9523](astral-sh/uv#9523)) ##### Configuration - Make `check-url` available in configuration files ([#​9032](astral-sh/uv#9032)) ##### Performance - Avoid adding non-extra package with extra dependencies ([#​9540](astral-sh/uv#9540)) - Avoid cloning `String` in marker evaluation ([#​9598](astral-sh/uv#9598)) ##### Rust API - `uv-pep508`: Add more methods for simplifying `extra`-related expressions ([#​9469](astral-sh/uv#9469)) ##### Bug fixes - Allow `file:` URLs to include package names ([#​9493](astral-sh/uv#9493)) - Avoid using IDs across PubGrub states ([#​9538](astral-sh/uv#9538)) - Consistently enforce requested-vs.-built metadata when retrieving wheels ([#​9484](astral-sh/uv#9484)) - Do not show empty version specifier in `uv tool list` ([#​9605](astral-sh/uv#9605)) - Include Git member information when getting metadata from cache ([#​9388](astral-sh/uv#9388)) - Include base installation directory in uv run PATH ([#​9585](astral-sh/uv#9585)) - Insert backslash when appending to system drive ([#​9488](astral-sh/uv#9488)) - Normalize paths when lowering Git dependencies ([#​9595](astral-sh/uv#9595)) - Omit origin when comparing requirements ([#​9570](astral-sh/uv#9570)) - Override `manylinux_compatible` with `--python-platform` ([#​9526](astral-sh/uv#9526)) - Pass extra when evaluating lockfile markers ([#​9539](astral-sh/uv#9539)) - Propagate markers for recursive extras in resolver ([#​9509](astral-sh/uv#9509)) - Respect path dependencies within Git dependencies ([#​9594](astral-sh/uv#9594)) - Support recursive extras with marker in `pip compile -r pyproject.toml` ([#​9535](astral-sh/uv#9535)) - Don't emit unpinned warning for proxy packages ([#​9497](astral-sh/uv#9497)) - Fix `--refresh-package` flag mentioned as `--refresh-dependency` ([#​9486](astral-sh/uv#9486)) - Handle Windows AV/EDR file locks during script installations ([#​9543](astral-sh/uv#9543)) - Re-enable conflicting extra/group tests and fix regression from [#​9540](astral-sh/uv#9540) ([#​9582](astral-sh/uv#9582)) ##### Documentation - Add missing word to docs for `run.md` ([#​9527](astral-sh/uv#9527)) - Add policies reference section and license document ([#​9367](astral-sh/uv#9367)) - Fix typo in entry point docs ([#​9491](astral-sh/uv#9491)) - Fix up version in prior uninstall instructions ([#​9485](astral-sh/uv#9485)) - Mention `uv pip` behavior in build system note ([#​9586](astral-sh/uv#9586)) - Update build failures document ([#​9584](astral-sh/uv#9584)) - Correct wording for multiple sources section ([#​9504](astral-sh/uv#9504)) </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:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
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.
When trying to upload without a password but with the keyring, check that the keyring has a password for the upload URL and username and warn if it doesn't.
Fixes #8781