A content-addressed cache between runs issue #28 closed: completed andymccall opened this · 1 comment
andymccall set labels flow-next, feature ·
referenced by 2 changes on 13 Oct 2026
andymccall
Measured on oxygenhub with issue #51 (placement) and issue #52 (source and directory times) and OXY_BUILD=ci in the hub's pipeline:
| job | before the cache | warm, nothing changed (run 232) |
|---|---|---|
| build | 188 s | 6.8 s (cargo: 1.15 s) |
| dist | 620–986 s | 27 s |
| clippy | 92 s | 55 s on a warm disk (run 231) |
| test | 242 s | 146 s, with the hub crate rebuilt for a changed build.rs |
A push that changes the hub crate rebuilds only it; one that does not rebuilds nothing. Cold jobs (a runner without the cache) cost what they did before.
andymccall closed ·
andymccall referenced by change c1a24672dbd5 on main ·
Every dist run cross-builds six platforms cold (14 min for oxy). Add
cache "cargo" { key-from "Cargo.lock" path "/src/target" }: a tar of the paths, kept in the runner's store under BLAKE3(key files + sandbox), restored at the job's start, saved at its end on success; read-only for runs of untrusted forks.