ci: keep each build job's target from its last passing run (refs andymccall/oxygenflow#28) bf614c3d7906
The build, clippy, test and release mounts are caches keyed by Cargo.lock: a runner starts from the target disk its last passing run left, so cargo builds only what changed since.
- Author
- Andy McCall @andymccall <[email protected]>
- When
- · 2026-10-13 14:31 UTC
- Signature
- ✔ signed by Andy McCall
- Hash
bf614c3d7906b6294f03cc2f5f7986a68e958666935635e010c20628e0ffb232- Depends on
- 380996db84e5 913e5ad27b17
- Depended on by
- 4745b9844987
- In bookmarks
- api-unknown-fields cancel-landed-runs diffusion-pin-bookmark draft-ready main oh-comment-body-file proposal-list-fast
- In tags
- v0.5.0 v0.5.1 v0.5.2 v0.6.0 v0.6.1 v0.7.0 v0.8.0 v0.9.0 v0.9.1 v0.9.11 v0.9.15 v0.9.16 v0.9.19 v0.9.2 v0.9.20 v0.9.21 v0.9.22 v0.9.23 v0.9.24 v0.9.3 v0.9.4 v0.9.5 v0.9.6 v0.9.7 v0.9.8 v0.9.9
- Edits
- 4 atoms, 0 tree operations, 1 file
Browse the tree at this change
modified .flow/pipeline.kdl +16 −0
| … | 39 unchanged lines |
||
| 40 | 40 | source "ephemeral://disk" |
|
| 41 | 41 | target "/src/target" |
|
| 42 | 42 | size "24GiB" |
|
| 43 | + | // Kept from this job's last passing run (oxygenflow#28): cargo |
|
| 44 | + | // builds only what changed since. |
|
| 45 | + | cache "target" |
|
| 46 | + | key "Cargo.lock" |
|
| 43 | 47 | } |
|
| 44 | 48 | <<<<<<< oxy conflict 1 of 2, side 1 of 2: change 6532b323 "oxygen and oxygenflow as pinned subrepos in deps/ (make pins moves them), and an OxygenFlow pipeline: fmt of this workspace, then clippy, tests and a release build against the pins" |
|
| 45 | 49 | env { |
|
| … | 8 unchanged lines |
||
| 54 | 58 | sandbox "rust" |
|
| 55 | 59 | depends-on "fmt" |
|
| 56 | 60 | mount { |
|
| 61 | + | // Kept from this job's last passing run (oxygenflow#28): cargo |
|
| 62 | + | // builds only what changed since. |
|
| 63 | + | cache "target" |
|
| 64 | + | key "Cargo.lock" |
|
| 57 | 65 | source "ephemeral://disk" |
|
| 58 | 66 | target "/src/target" |
|
| 59 | 67 | size "24GiB" |
|
| … | 8 unchanged lines |
||
| 68 | 76 | } |
|
| 69 | 77 | ||
| 70 | 78 | job "build" { |
|
| 79 | + | // Kept from this job's last passing run (oxygenflow#28): cargo |
|
| 80 | + | // builds only what changed since. |
|
| 81 | + | cache "target" |
|
| 82 | + | key "Cargo.lock" |
|
| 71 | 83 | sandbox "rust" |
|
| 72 | 84 | depends-on "fmt" |
|
| 73 | 85 | mount { |
|
| … | 15 unchanged lines |
||
| 89 | 101 | // release's trust page shows each as built here. |
|
| 90 | 102 | job "dist" { |
|
| 91 | 103 | sandbox "rust" |
|
| 104 | + | // Kept from this job's last passing run (oxygenflow#28): cargo |
|
| 105 | + | // builds only what changed since. |
|
| 106 | + | cache "target" |
|
| 107 | + | key "Cargo.lock" |
|
| 92 | 108 | depends-on "fmt" |
|
| 93 | 109 | scope "Cargo.toml" "scripts/dist.sh" "packaging/**" |
|
| 94 | 110 | mount { |
|
| … | 42 unchanged lines |