Add rust-cache composite action

This commit is contained in:
Hermes
2026-05-02 15:43:39 -07:00
parent c99b8ff158
commit a043e7d62c
2 changed files with 85 additions and 1 deletions

View File

@@ -1,3 +1,39 @@
# actions-rust
Reusable Rust setup + cache action for Gitea Actions
Reusable Gitea Actions for Rust projects.
## actions/rust-cache
Composite action that installs a Rust toolchain and caches cargo/crate dependencies.
### Usage
```yaml
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: https://gitea.com/actions/checkout@v4
- name: Setup Rust + Cache
uses: https://git.ericxliu.me/eric/actions-rust/.gitea/actions/rust-cache@main
with:
toolchain: stable # optional, defaults to stable
- run: cargo build --release
- run: cargo test
```
### What it does
1. **Cache restore** — Restores `~/.cargo/registry`, `~/.cargo/git`, `~/.rustup/toolchains`, and `target/` using Gitea's native `actions/cache`.
2. **Rust install** — Runs `rustup` to install or verify the requested toolchain.
3. **PATH setup** — Appends `$HOME/.cargo/bin` to `$GITHUB_PATH` so cargo/rustc are available in subsequent steps.
### Cache key format
```
rust-linux-{hash(Cargo.lock)}{hash(Cargo.toml)}
```
Warm builds run in ~4060s vs ~3min for a cold build.