Skip to content

Add reusable uv and Rust cache actions - #5

Merged
calavera merged 7 commits into
mainfrom
agent/persistent-uv-venv
Jul 31, 2026
Merged

Add reusable uv and Rust cache actions#5
calavera merged 7 commits into
mainfrom
agent/persistent-uv-venv

Conversation

@calavera

@calavera calavera commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

What changed

  • add actions/setup-uv-cache, a composite action that installs uv and Python, restores a compatibility-keyed environment archive, runs uv sync, and publishes cold archives atomically
  • add actions/setup-rust-cache, a composite action that configures persistent Cargo, sccache, and optional target directories
  • replace the reference workflow cache scripts with one local uses: step
  • document concise external usage, inputs, outputs, invalidation, and concurrency guidance for both actions
  • constrain setuptools package discovery so non-Python action directories cannot be mistaken for packages

uv cache design

The live virtual environment remains on fast sandbox-local storage. The Tensorlake volume stores one compressed archive keyed by platform, exact Python version, workflow job, Git ref, working directory, and uv.lock.

Running the live environment directly on the volume was rejected after three sequential trials stayed cold and took 2m06s to 2m13s. The archive design avoids Python small-file reads over FUSE and gives volume autosave one sequential object.

Runtime validation

Validation

  • PR workflow passes cold and warm through actions/setup-uv-cache
  • all action and workflow YAML parsed
  • every embedded Bash block passed bash -n
  • ruff check and format check passed
  • 32 tests passed
  • local uv sync rebuilt the Python project successfully with the new top-level action directories
  • git diff --check passed

@calavera calavera changed the title Persist uv virtual environments on runner volumes Cache uv environments as durable archives Jul 30, 2026
@calavera calavera changed the title Cache uv environments as durable archives Add reusable uv and Rust cache actions Jul 30, 2026
@calavera
calavera marked this pull request as ready for review July 31, 2026 00:40
@calavera
calavera merged commit 7b0b219 into main Jul 31, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant