-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Add uv release artifact attestations #11357
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
Conversation
7e04715 to
7b8e78f
Compare
|
cc @Gankra — seems low priority but want to make sure you're aware of this. |
|
idle first thought: we can "just" inline the attestation stuff into the build-binaries subscript, in the same way that it builds tarballs in the exact format cargo-dist "would" if it was running the tasks. tedious but not the worst. |
|
I also left a proposal here from a pseudo working implementation I started locally, axodotdev/cargo-dist#1754 Although not sure the best approach now with the fork scenario |
7b8e78f to
0264fe6
Compare
|
Given we're on dist 0.30 now (which has axodotdev/cargo-dist#2000), we can revive this |
0264fe6 to
d6cfd84
Compare
|
@Gankra this should be finally ready |
d6cfd84 to
37de3a1
Compare
37de3a1 to
b498654
Compare
|
Apologies for the delay, I'm cutting a cargo-dist release to get your full changes (0.30.0 only had the overly broad ones). |
woodruffw
left a comment
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.
Awesome 🙂
|
The PR is now rebased and uses the latest cargo-dist that makes zizmor happy |
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.9.5` -> `0.9.7` | 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.9.7`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#097) [Compare Source](astral-sh/uv@0.9.6...0.9.7) Released on 2025-10-30. ##### Enhancements - Add Windows x86-32 emulation support to interpreter architecture checks ([#​13475](astral-sh/uv#13475)) - Improve readability of progress bars ([#​16509](astral-sh/uv#16509)) - Add GitHub attestations for uv release artifacts ([#​11357](astral-sh/uv#11357)) ##### Bug fixes - Drop terminal coloring from `uv auth token` output ([#​16504](astral-sh/uv#16504)) - Don't use UV\_LOCKED to enable `--check` flag ([#​16521](astral-sh/uv#16521)) ### [`v0.9.6`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#096) [Compare Source](astral-sh/uv@0.9.5...0.9.6) Released on 2025-10-29. This release contains an upgrade to Astral's fork of `async_zip`, which addresses potential sources of ZIP parsing differentials between uv and other Python packaging tooling. See [GHSA-pqhf-p39g-3x64](GHSA-pqhf-p39g-3x64) for additional details. ##### Security - Address ZIP parsing differentials ([GHSA-pqhf-p39g-3x64](GHSA-pqhf-p39g-3x64)) ##### Python - Upgrade GraalPy to 25.0.1 ([#​16401](astral-sh/uv#16401)) ##### Enhancements - Add `--clear` to `uv build` to remove old build artifacts ([#​16371](astral-sh/uv#16371)) - Add `--no-create-gitignore` to `uv build` ([#​16369](astral-sh/uv#16369)) - Do not error when a virtual environment directory cannot be removed due to a busy error ([#​16394](astral-sh/uv#16394)) - Improve hint on `pip install --system` when externally managed ([#​16392](astral-sh/uv#16392)) - Running `uv lock --check` with outdated lockfile will print that `--check` was passed, instead of `--locked` ([#​16322](astral-sh/uv#16322)) - Update `uv init` template for Maturin ([#​16449](astral-sh/uv#16449)) - Improve ordering of Python sources in logs ([#​16463](astral-sh/uv#16463)) - Restore DockerHub release images and annotations ([#​16441](astral-sh/uv#16441)) ##### Bug fixes - Check for matching Python implementation during `uv python upgrade` ([#​16420](astral-sh/uv#16420)) - Deterministically order `--find-links` distributions ([#​16446](astral-sh/uv#16446)) - Don't panic in `uv export --frozen` when the lockfile is outdated ([#​16407](astral-sh/uv#16407)) - Fix root of `uv tree` when `--package` is used with circular dependencies ([#​15908](astral-sh/uv#15908)) - Show package list with `pip freeze --quiet` ([#​16491](astral-sh/uv#16491)) - Limit `uv auth login pyx.dev` retries to 60s ([#​16498](astral-sh/uv#16498)) - Add an empty group with `uv add --group ... -r ...` ([#​16490](astral-sh/uv#16490)) ##### Documentation - Update docs for maturin build backend init template ([#​16469](astral-sh/uv#16469)) - Update docs to reflect previous changes to signal forwarding semantics ([#​16430](astral-sh/uv#16430)) - Add instructions for installing via MacPorts ([#​16039](astral-sh/uv#16039)) </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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNjkuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE2OS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.9.7` -> `0.9.8` | 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.9.8`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#098) [Compare Source](astral-sh/uv@0.9.7...0.9.8) Released on 2025-11-07. ##### Enhancements - Accept multiple packages in `uv export` ([#​16603](astral-sh/uv#16603)) - Accept multiple packages in `uv sync` ([#​16543](astral-sh/uv#16543)) - Add a `uv cache size` command ([#​16032](astral-sh/uv#16032)) - Add prerelease guidance for build-system resolution failures ([#​16550](astral-sh/uv#16550)) - Allow Python requests to include `+gil` to require a GIL-enabled interpreter ([#​16537](astral-sh/uv#16537)) - Avoid pluralizing 'retry' for single value ([#​16535](astral-sh/uv#16535)) - Enable first-class dependency exclusions ([#​16528](astral-sh/uv#16528)) - Fix inclusive constraints on available package versions in resolver errors ([#​16629](astral-sh/uv#16629)) - Improve `uv init` error for invalid directory names ([#​16554](astral-sh/uv#16554)) - Show help on `uv build -h` ([#​16632](astral-sh/uv#16632)) - Include the Python variant suffix in "Using Python ..." messages ([#​16536](astral-sh/uv#16536)) - Log most recently modified file for cache-keys ([#​16338](astral-sh/uv#16338)) - Update Docker builds to use nightly Rust toolchain with musl v1.2.5 ([#​16584](astral-sh/uv#16584)) - Add GitHub attestations for uv release artifacts ([#​11357](astral-sh/uv#11357)) ##### Configuration - Expose `UV_NO_GROUP` as an environment variable ([#​16529](astral-sh/uv#16529)) - Add `UV_NO_SOURCES` as an environment variable ([#​15883](astral-sh/uv#15883)) ##### Bug fixes - Allow `--check` and `--locked` to be used together in `uv lock` ([#​16538](astral-sh/uv#16538)) - Allow for unnormalized names in the METADATA file ([#​16547](astral-sh/uv#16547)) ([#​16548](astral-sh/uv#16548)) - Fix missing value\_type for `default-groups` in schema ([#​16575](astral-sh/uv#16575)) - Respect multi-GPU outputs in `nvidia-smi` ([#​15460](astral-sh/uv#15460)) - Fix DNS lookup errors in Docker containers ([#​8450](astral-sh/uv#8450)) ##### Documentation - Fix typo in uv tool list doc ([#​16625](astral-sh/uv#16625)) - Note `uv pip list` name normalization in docs ([#​13210](astral-sh/uv#13210)) ##### Other changes - Update Rust toolchain to 1.91 and MSRV to 1.89 ([#​16531](astral-sh/uv#16531)) </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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNzMuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE3My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
Summary
Similar to #8685, this adds attestations for uv release artifacts.
The changes on this PR would add attestations for
dist-manifest.jsonuv-installer.ps1uv-installer.sh*.tar.gzand*.zipuv binary filesTest Plan
(clarifying note: I'm aware this file is managed cargo dist and this will not work without allow-dirty at this time)Currently cargo dist targets generation in(edit: fixed by axodotdev/cargo-dist#2000)build_local_artifactswhich is not used here, plus we'd ideally want to attest the GH downloads / artifacts.At a glance, this release workflow seems to work successfully:
e.g. Example Run: https://github.com/samypr100/uv/actions/runs/13229100555
e.g. Example Release: https://github.com/samypr100/uv/releases/tag/0.5.29