Skip to content

build(deps): bump astral-sh/setup-uv from 8.3.2 to 9.0.0 - #14

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/github_actions/astral-sh/setup-uv-9.0.0
Closed

build(deps): bump astral-sh/setup-uv from 8.3.2 to 9.0.0#14
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/github_actions/astral-sh/setup-uv-9.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 3, 2026

Copy link
Copy Markdown
Contributor

Bumps astral-sh/setup-uv from 8.3.2 to 9.0.0.

Release notes

Sourced from astral-sh/setup-uv's releases.

v9.0.0 🌈 Change prune-cache default to false

Changes

This release disables the default cache cache pruning to ease the load on the PyPi infrastructure. Since users might experience more GitHub Actions cache usage which might result in higher costs this is marked as a breaking change. To read more on why we did this (now) you can read the detailed analysis and reasoning in #967

Besides this big breaking change we also have a small bugfix while building caches for linux distributions that behave a big different than the "big ones" and a speed up in version resolution by only reading the version manifest until a matching version is found saving runtime and network bandwith.

🚨 Breaking changes

🐛 Bug fixes

  • fix: fall back to distribution ID when os-release has no version field @​cxzhong (#961)

🚀 Enhancements

🧰 Maintenance

📚 Documentation

⬆️ Dependency updates

Commits
  • c771a70 chore(deps): roll up Dependabot updates (#970)
  • 2f537ca chore: update known checksums for 0.11.30 (#968)
  • 2269552 Speed up version client by partial response reads (#807)
  • 47a7f4f Change prune-cache default to false (#967)
  • 71966ef chore(deps): roll up Dependabot updates (#962)
  • f12b1f0 fix: fall back to distribution ID when os-release has no version field (#961)
  • ecd24dd chore: update known checksums for 0.11.29 (#960)
  • 6a19136 docs: update version references to v8.3.2 (#949)
  • See full diff in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file github_actions Pull requests that update GitHub Actions code labels Aug 3, 2026
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file github_actions Pull requests that update GitHub Actions code labels Aug 3, 2026
@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Both release and test workflows update the pinned astral-sh/setup-uv action from v8.3.2 to v9.0.0.

Changes

CI action updates

Layer / File(s) Summary
Update setup-uv pins
.github/workflows/release.yml, .github/workflows/test.yml
Both workflows now use the pinned v9.0.0 commit for astral-sh/setup-uv.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Suggested reviewers: kriptoburak, furkanerday

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely identifies the dependency and version change made in the pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dependabot/github_actions/astral-sh/setup-uv-9.0.0

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
.github/workflows/test.yml (1)

45-45: 🚀 Performance & Scalability | 🔵 Trivial | ⚡ Quick win

Make CI cache pruning explicit.

This update changes prune-cache from true to false. The test workflow will now retain unused uv cache entries. Set prune-cache: true if the previous CI cache behavior is intended. uv documents cache pruning as the CI-oriented way to reduce cache size. (github.com)

Proposed fix
       - name: Set up uv
         uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
+        with:
+          prune-cache: true
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/test.yml at line 45, Update the setup-uv configuration in
the test workflow to explicitly set prune-cache: true, preserving the prior CI
behavior of removing unused uv cache entries.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/release.yml:
- Line 39: Update the setup-uv action configuration in the release job to
explicitly disable cache restoration by setting its cache option to false; do
not rely on prune-cache, and leave the action version and other workflow
behavior unchanged.

---

Nitpick comments:
In @.github/workflows/test.yml:
- Line 45: Update the setup-uv configuration in the test workflow to explicitly
set prune-cache: true, preserving the prior CI behavior of removing unused uv
cache entries.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 49049055-b834-47a9-82e8-e5d480abd4fd

📥 Commits

Reviewing files that changed from the base of the PR and between eed3249 and 7d6c0a9.

📒 Files selected for processing (2)
  • .github/workflows/release.yml
  • .github/workflows/test.yml


- name: Set up uv
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -eu

printf '%s\n' '--- release workflow ---'
sed -n '1,140p' .github/workflows/release.yml

printf '%s\n' '--- setup-uv references and cache settings ---'
rg -n -C 3 'setup-uv|enable-cache|prune-cache|cache' .github/workflows .github 2>/dev/null || true

printf '%s\n' '--- repository metadata relevant to release inputs ---'
rg -n -C 2 'release event|release:|publish|build|uv sync|uv run|uv build|uv publish' .github/workflows pyproject.toml uv.lock 2>/dev/null || true

Repository: Xquik-dev/xquik-haystack

Length of output: 8682


🌐 Web query:

zizmor setup-uv release workflow enable-cache false cache poisoning guidance

💡 Result:

The zizmor security tool flags the use of caching in GitHub Actions workflows—specifically with astral-sh/setup-uv—as a potential cache poisoning vulnerability if the workflow triggers on events that can be influenced by untrusted or lower-privilege actors (e.g., push events to branches or tags, or pull_request_target triggers) [1][2][3]. When a sensitive or privileged job (such as a release or publish workflow) restores a cache that was populated by a less-privileged job, an attacker may be able to inject malicious content into that cache [3]. Subsequent restoration of this poisoned cache in the privileged job can then lead to unauthorized code execution or the exfiltration of secrets, such as OIDC tokens [3]. Guidance for addressing this zizmor finding: 1. Understanding the Risk: If your release or build workflow uses astral-sh/setup-uv and is triggered by events that allow external contributors (like pull requests or tag pushes), you are potentially exposed to cache poisoning [1][3]. The recommendation is to disable caching in these specific jobs [4][1][3]. 2. Remediation: To mitigate this, explicitly disable caching in your workflow steps where artifact building or publishing occurs by setting enable-cache to false [4][1][2]. - example: - uses: astral-sh/setup-uv@v6 with: enable-cache: false 3. Zizmor's Audit Rules: Zizmor includes a specific audit rule (cache-poisoning) designed to detect these scenarios [5][4][1]. Note that there have been reports of bugs where zizmor's automatic fix suggestions might have initially proposed an incorrect configuration; always verify that your remediation correctly disables caching when that is your intended security posture [5][6]. 4. Best Practice: In environments where reproducibility is paramount and the performance benefits of caching are not critical (such as final release jobs), disabling the cache is the standard security control [1][3]. For more information, refer to the documentation for zizmor at https://docs.zizmor.sh/ and the astral-sh/setup-uv caching documentation at https://github.com/astral-sh/setup-uv/blob/main/docs/caching.md [7][8].

Citations:


🌐 Web query:

astral-sh/setup-uv v9 enable-cache default cache dependency cache documentation

💡 Result:

In astral-sh/setup-uv v9, caching is managed through several specific input configurations [1][2]. Key Caching Features and Configuration: - enable-cache: This input controls whether the uv cache is uploaded to the GitHub Actions cache [1]. It accepts true, false, or auto [2]. When set to auto (the default), caching is enabled only on GitHub-hosted runners and disabled on self-hosted runners [2][3]. - cache-dependency-glob: You can use this input to specify a glob pattern (e.g., /uv.lock, /pyproject.toml) to control cache invalidation [1][2]. The GitHub Actions cache will be invalidated and recalculated if any file matching the pattern changes [1][4]. By default, it monitors standard dependency files like lock files, requirements files, and pyproject.toml [2][5]. - prune-cache: As of v9.0.0, the default value for prune-cache is false [6]. When enabled (true), the action runs cache pruning before saving the cache to reduce storage size [1][4]. Disabling it (the default) persists the entire cache, which may increase GitHub Actions cache usage [6]. - Caching Logic: The action computes a cache key based on the dependency files matched by cache-dependency-glob, as well as the platform, OS version, and CPU architecture [1][4]. If an existing cache matches the generated key, it is restored; otherwise, the workflow proceeds without it [2][4]. You can further customize caching behavior using restore-cache (to enable/disable restoration), save-cache (to enable/disable saving), and cache-local-path (to define where the cache is stored on the runner) [2][5]. Detailed documentation can be found in the docs/caching.md file within the repository [1][4].

Citations:


🏁 Script executed:

#!/bin/bash
set -eu

printf '%s\n' '--- lockfile and Hatch environment configuration ---'
sed -n '1,180p' pyproject.toml
printf '%s\n' '--- lockfile presence and size ---'
if [ -f uv.lock ]; then
  wc -l uv.lock
  sed -n '1,40p' uv.lock
else
  echo 'uv.lock not present'
fi
printf '%s\n' '--- workflow permissions and cache actions ---'
rg -n -C 2 'permissions:|actions/cache|setup-uv|uv tool|hatch run|hatch build' .github/workflows

Repository: Xquik-dev/xquik-haystack

Length of output: 8886


🏁 Script executed:

#!/bin/bash
set -eu

printf '%s\n' '--- test workflow triggers and jobs ---'
sed -n '1,90p' .github/workflows/test.yml

printf '%s\n' '--- setup-uv v9 action metadata ---'
curl -fsSL https://raw.githubusercontent.com/astral-sh/setup-uv/c771a70e6277c0a99b617c7a806ffedaca235ff9/action.yml | sed -n '1,220p'

printf '%s\n' '--- setup-uv v9 cache documentation ---'
curl -fsSL https://raw.githubusercontent.com/astral-sh/setup-uv/c771a70e6277c0a99b617c7a806ffedaca235ff9/docs/caching.md | sed -n '1,240p'

printf '%s\n' '--- zizmor cache-poisoning guidance ---'
curl -fsSL https://docs.zizmor.sh/audits/ | rg -n -C 8 'cache-poison|setup-uv|release|enable-cache' | head -160

Repository: Xquik-dev/xquik-haystack

Length of output: 22747


Disable setup-uv caching in the release job.

The release workflow restores the uv cache by default. A poisoned cache can execute during linting, tests, or builds and compromise published distributions. prune-cache: true does not disable restoration.

Proposed fix
       - name: Set up uv
         uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
+        with:
+          enable-cache: false
🧰 Tools
🪛 zizmor (1.28.0)

[error] 39-39: runtime artifacts potentially vulnerable to a cache poisoning attack (cache-poisoning): enables caching by default

(cache-poisoning)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/release.yml at line 39, Update the setup-uv action
configuration in the release job to explicitly disable cache restoration by
setting its cache option to false; do not rely on prune-cache, and leave the
action version and other workflow behavior unchanged.

Source: Linters/SAST tools

Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 8.3.2 to 9.0.0.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](astral-sh/setup-uv@11f9893...c771a70)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/github_actions/astral-sh/setup-uv-9.0.0 branch from 7d6c0a9 to 8112606 Compare August 11, 2026 14:37
@kriptoburak

Copy link
Copy Markdown
Member

Closed as superseded by the consolidated dependency update merged into the default branch.

@dependabot @github

dependabot Bot commented on behalf of github Aug 11, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/github_actions/astral-sh/setup-uv-9.0.0 branch August 11, 2026 14:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file github_actions Pull requests that update GitHub Actions code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant