Repository navigation
Conversation
Most pushes to main don't bump pyproject.toml, so the version-read step exits early before invoking uv run. setup-uv@v6's post-cleanup then errors out trying to save an empty cache, marking the whole job as failed even though the tag-skip logic worked correctly. Caching adds no value here anyway -- the only uv invocation is a single stdlib-only one-liner. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Greptile SummaryThis PR disables the uv cache in
Confidence Score: 5/5Safe to merge — a one-line targeted fix to a CI workflow with no impact on library code or release logic. The change is a single configuration line that removes an unused caching step. The workflow's tag-creation and version-reading logic is untouched, and disabling the cache has no effect on the one No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Push to main] --> B[Mint App Token]
B --> C[Checkout repo]
C --> D[Setup uv + Python\nenable-cache: false]
D --> E{BEFORE_SHA is zeros?}
E -- yes --> F[Exit 0 early]
E -- no --> G{pyproject.toml changed?}
G -- no --> F
G -- yes --> H[uv run: read version from pyproject.toml]
H --> I[Output version value]
I --> J{version output set?}
J -- no --> K[Skip tag step]
J -- yes --> L{Tag already exists?}
L -- yes --> M[Exit 0, skip push]
L -- no --> N[git tag vX.Y.Z\ngit push origin vX.Y.Z]
Reviews (1): Last reviewed commit: "ci: disable uv cache on no-op tag-releas..." | Re-trigger Greptile |
|
Closing per request. |
Summary
Fixes false-failures on
tag-on-release-merge.ymlruns that don't bumppyproject.toml.Why it was failing
tag-on-release-merge.ymlruns on every push to `main`. When the merge doesn't change `pyproject.toml`, `Read merged release version` exits early (correct) and `Create version tag` is skipped (correct). However, `astral-sh/setup-uv@v6` had already run, and its post-cleanup tries to save the uv cache. Since `uv run` was never actually invoked (early exit), the cache directory is empty, and post-cleanup fails:```
Error: Cache path /home/runner/work/_temp/setup-uv-cache does not exist on disk.
This likely indicates that there are no dependencies to cache.
```
That single post-step failure marks the entire job red, even though the tag-skip logic worked exactly as intended.
The fix
Add `enable-cache: false` to the setup-uv step. The only uv invocation in this workflow is one stdlib-only one-liner (`import tomllib, pathlib; ...`), so caching had no benefit anyway.
Test plan
🤖 Generated with Claude Code