Using uvx in GitHub Actions in a cache-friendly way
- ID
- 4488
- Status
- summarized
- Published
- 14 Jul 2026, 8:56 AM
- Fetched
- 15 Jul 2026, 2:56 AM
- Provider
- Simon Willison
- Category
- developer-ai
- Original URL
- https://simonwillison.net/2026/Jul/14/uvx-github-actions-cache/
- Source URL
- https://simonwillison.net/atom/everything/
Summary
- Score
- 7.5
- Created
- 15 Jul 2026, 2:56 AM
- Tags
- Audience
- developersvibe_coders
What happened
Simon Willison shares a cache-friendly recipe for using uvx in GitHub Actions workflows by setting a UV_EXCLUDE_NEWER environment variable and including it in the cache key. This pins uvx-resolved tools to a specific date, avoiding repeated PyPI downloads on every workflow run. Cache busting is as simple as bumping the date.
Why it matters
For Malaysian developers and vibe coders running Python tooling in CI, this pattern cuts workflow runtime and bandwidth costs by avoiding redundant PyPI fetches. It's especially useful where CI minutes or network egress to PyPI can be slow or metered, and gives a predictable, reproducible tool version per cache key.
Discussion angle
Compare this UV_EXCLUDE_NEWER cache-key trick with other Python CI caching approaches (setup-uv defaults, pip cache, uv lockfiles) and discuss when each is most practical for small Malaysian teams or solo builders.