| 1 |
// oxygenhub-vscode's pipeline (OxygenFlow, docs in the oxygenflow repository): |
| 2 |
// typecheck, bundle, tests and packaging, offline in a Firecracker microVM on |
| 3 |
// Earth for every push. The hub client tests need a hub binary and skip here. |
| 4 |
schema-version 1 |
| 5 |
|
| 6 |
// The OxygenFlow build image (oxygenflow/images/rust), with an npm cache of |
| 7 |
// this repository's package-lock.json. Rebuild and re-pin it when that changes. |
| 8 |
sandbox "node" { |
| 9 |
runtime "microvm" |
| 10 |
rootfs "cas://blob/85c744e509d45118942a8ca77408d56894bf7833fa806d20d08511cc90bc5024" |
| 11 |
memory-limit "2GiB" |
| 12 |
cpu-limit 2 |
| 13 |
network "loopback" |
| 14 |
} |
| 15 |
|
| 16 |
job "check" { |
| 17 |
sandbox "node" |
| 18 |
exec "sh" "-euc" "npm ci --offline --cache /opt/npm-cache --no-audit --no-fund && npm run check" |
| 19 |
} |
| 20 |
|
| 21 |
job "package" { |
| 22 |
sandbox "node" |
| 23 |
depends-on "check" |
| 24 |
// A fresh workspace: nothing from check carries over, so build first. |
| 25 |
exec "sh" "-euc" "npm ci --offline --cache /opt/npm-cache --no-audit --no-fund && npm run build && npm run package" |
| 26 |
} |