OXYGENHUB

ci: keep each build job's target from its last passing run (refs andymccall/oxygenflow#28) a451982b1d34

The clippy, test, build and dist target disks are caches keyed by
Cargo.lock, so a runner starts from its last passing run's target and
cargo builds only what changed. clippy and test set OXY_BUILD=ci so the
build script does not rerun on every state; build keeps its flow #heads
identity for the oxy artifact.
Author
Andy McCall @andymccall <[email protected]>
When
· 2026-10-13 17:35 UTC
Signature
✔ signed by Andy McCall
Hash
a451982b1d34e567b7200db20846faf5a3d8fa1497159efffb3a66f905d35b47
Depends on
2b668d92b066 b66a5c47cc61 ba1731bba530
Depended on by
nothing yet
In bookmarks
carried-not-removed doctor-trust identical-sides keyless-tags main merge-remote-bookmark paths-for-resolutions-and-amend push-notes show-stat subrepo-pin-state
In tags
v0.10.0 v0.11.0 v0.4.4 v0.4.5 v0.4.6 v0.5.0 v0.5.1 v0.6.0 v0.7.0 v0.8.0 v0.9.0
Edits
5 atoms, 0 tree operations, 1 file

Browse the tree at this change

modified .flow/pipeline.kdl +26 −0
…
34 unchanged lines
35 35
        source "ephemeral://disk"
36 36
        target "/src/target"
37 37
        size "24GiB"
38 +
        // Kept from this job's last passing run (oxygenflow#28): cargo
39 +
        // builds only what changed since.
40 +
        cache "target"
41 +
        key "Cargo.lock"
38 42
    }
43 +
    // One build identity for every CI state, so the cached target stays
44 +
    // fresh from one push to the next (oxygenflow#52).
45 +
    env {
46 +
        OXY_BUILD "ci"
47 +
    }
39 48
<<<<<<< oxy conflict 1 of 1, side 1 of 2: change 110a6605 "OxygenFlow pipeline: fmt, then clippy -D warnings, tests and a release build in microVMs on Earth, on every push"
40 49
    env {
41 50
        CARGO_INCREMENTAL "0"
…
7 unchanged lines
49 58
    sandbox "rust"
50 59
    depends-on "fmt"
51 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"
65 +
    }
66 +
    // One build identity for every CI state, so the cached target stays
67 +
    // fresh from one push to the next (oxygenflow#52).
68 +
    env {
69 +
        OXY_BUILD "ci"
52 70
        source "ephemeral://disk"
53 71
        target "/src/target"
54 72
        size "24GiB"
…
8 unchanged lines
63 81
    sandbox "rust"
64 82
    depends-on "fmt"
65 83
    mount {
84 +
        // Kept from this job's last passing run (oxygenflow#28): cargo
85 +
        // builds only what changed since.
86 +
        cache "target"
87 +
        key "Cargo.lock"
66 88
        source "ephemeral://disk"
67 89
        target "/src/target"
68 90
        size "24GiB"
…
15 unchanged lines
84 106
    depends-on "fmt"
85 107
    scope "Cargo.toml" "scripts/dist.sh" "packaging/**"
86 108
    mount {
109 +
        // Kept from this job's last passing run (oxygenflow#28): cargo
110 +
        // builds only what changed since.
111 +
        cache "target"
112 +
        key "Cargo.lock"
87 113
        source "ephemeral://disk"
88 114
        target "/src/target"
89 115
        size "24GiB"
…
39 unchanged lines