OXYGENHUB

A content-addressed cache between runs issue #28 closed: completed andymccall opened this · 1 comment

andymccall

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.

andymccall set labels flow-next, feature ·

referenced by 2 changes on 13 Oct 2026

d60aac6c3f8a 0941bb8ac32b

andymccall

Measured on oxygenhub with issue #51 (placement) and issue #52 (source and directory times) and OXY_BUILD=ci in the hub's pipeline:

jobbefore the cachewarm, nothing changed (run 232)
build188 s6.8 s (cargo: 1.15 s)
dist620–986 s27 s
clippy92 s55 s on a warm disk (run 231)
test242 s146 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 ·