OxygenFlow pipeline: oxy built from the pinned oxygen in deps/, then typecheck, bundle and tests against it, and packaging, offline from the image's npm cache 0072c2b27293
closes #5
Author Andy McCall @andymccall <[email protected] >
When 1 month ago · 2026-09-28 19:39 UTC
Signature ✔ signed by Andy McCall
Hash 0072c2b27293acd018566e8a31a5bf78874a491d9f03153e76ceb06f2af5d34f
Depends on bed495a96408
Depended on by 05db4ed2e2db 9d47aeeb4b21 4be0e6185b6d ca2304a7851a d7274fc3100a aeb4e32ee7a0
In bookmarks main
In tags v0.16.0 v0.16.1 v0.17.0 v0.17.1 v0.18.0
Edits 4 atoms, 5 tree operations, 4 files
Browse the tree at this change
.flow/pipeline.kdl .oxymodules deps/oxygen .vscodeignore
added
.flow/pipeline.kdl
+35 −0
1
+
// oxygen-vscode's pipeline (OxygenFlow, docs in the oxygenflow repository):
2
+
// typecheck, bundle, tests against a real oxy, and packaging, offline in a
3
+
// Firecracker microVM on Earth for every push.
4
+
schema-version 1
5
+
6
+
// The OxygenFlow build image (oxygenflow/images/rust): Node, Rust, an npm
7
+
// cache of this repository's package-lock.json, and the crates oxy needs.
8
+
// Rebuild and re-pin it when package-lock.json changes.
9
+
sandbox "node" {
10
+
runtime "microvm"
11
+
rootfs "cas://blob/85c744e509d45118942a8ca77408d56894bf7833fa806d20d08511cc90bc5024"
12
+
memory-limit "6GiB"
13
+
cpu-limit 4
14
+
network "loopback"
15
+
}
16
+
17
+
// The tests drive the real oxy, built here from the pinned oxygen in deps/.
18
+
job "check" {
19
+
sandbox "node"
20
+
mount {
21
+
source "ephemeral://disk"
22
+
target "/src/deps/oxygen/target"
23
+
size "16GiB"
24
+
}
25
+
env {
26
+
CARGO_INCREMENTAL "0"
27
+
}
28
+
exec "sh" "-euc" "cargo build --locked --manifest-path deps/oxygen/Cargo.toml -p oxy && npm ci --offline --cache /opt/npm-cache --no-audit --no-fund && OXY_BIN=/src/deps/oxygen/target/debug/oxy npm run check"
29
+
}
30
+
31
+
job "package" {
32
+
sandbox "node"
33
+
depends-on "check"
34
+
exec "sh" "-euc" "npm ci --offline --cache /opt/npm-cache --no-audit --no-fund && npm run package"
35
+
}
added
.oxymodules
+4 −0
1
+
[deps/oxygen]
2
+
url = https://earth.andymccall.xyz:7343/andymccall/oxygen
3
+
bookmark = main
4
+
added
deps/oxygen
+0 −0
No line changes.
modified
.vscodeignore
+4 −0
…
5 unchanged lines
6
6
node_modules/**
7
7
tsconfig.json
8
8
**/*.map
9
+
deps/**
10
+
.flow/**
11
+
.oxymodules
12
+
*.vsix