| eb5c4db6 Andy McCall ↶ |
1 |
|
| 2 |
|
| 3 |
|
| 4 |
|
| 50354f57 Andy McCall ↶ |
5 |
|
| eb5c4db6 Andy McCall ↶ |
6 |
set -eu |
| 7 |
here=$(cd "$(dirname "$0")" && pwd) |
| 8 |
dev=$(cd "$here/../../.." && pwd) |
| 9 |
out=${1:-$here/oxygenflow-build.tar} |
| 10 |
NODE_VERSION=24.21.0 |
| 11 |
NODE_SHA256=fd8e59d5a511510f6a298afb548f18c7d2b1be404d8b4a27d94fbe49f56cb2d6 |
| 85ad9087 Andy McCall ↶ |
12 |
ZIG_VERSION=0.16.0 |
| 13 |
ZIG_SHA256=70e49664a74374b48b51e6f3fdfbf437f6395d42509050588bd49abe52ba3d00 |
| eb5c4db6 Andy McCall ↶ |
14 |
|
| 15 |
rm -rf "$here/vendor" |
| 16 |
cargo vendor --locked --versioned-dirs \ |
| 17 |
--manifest-path "$dev/oxygen/Cargo.toml" \ |
| 18 |
--sync "$dev/oxygenhub/Cargo.toml" \ |
| 19 |
--sync "$dev/oxygenflow/Cargo.toml" \ |
| 20 |
"$here/vendor" >/dev/null |
| 50354f57 Andy McCall ↶ |
21 |
|
| 22 |
rm -rf "${here:?}/npm-cache" |
| 23 |
for e in oxygen-vscode oxygenhub-vscode; do |
| 24 |
tmp=$(mktemp -d) |
| 25 |
cp "$dev/$e/package.json" "$dev/$e/package-lock.json" "$tmp/" |
| 26 |
(cd "$tmp" && npm ci --cache "$here/npm-cache" --ignore-scripts --no-audit --no-fund >/dev/null) |
| 27 |
rm -rf "${tmp:?}" |
| 28 |
done |
| 29 |
rm -rf "${here:?}/npm-cache/_logs" |
| eba589f8 Andy McCall ↶ |
30 |
|
| 31 |
|
| 32 |
rm -rf "${here:?}/warm" |
| 2b40cb9b Andy McCall ↶ |
33 |
for ws in oxygenhub oxygen oxygenflow; do |
| eba589f8 Andy McCall ↶ |
34 |
python3 "$here/recipe.py" "$dev/$ws" "$here/warm/$ws" |
| 35 |
done |
| 22007df2 Andy McCall ↶ |
36 |
|
| 37 |
|
| 38 |
|
| 39 |
chmod -R a+rX "$here/vendor" "$here/npm-cache" "$here/warm" |
| eb5c4db6 Andy McCall ↶ |
40 |
docker build -q -t oxygenflow-build \ |
| 85ad9087 Andy McCall ↶ |
41 |
--build-arg NODE_VERSION=$NODE_VERSION --build-arg NODE_SHA256=$NODE_SHA256 \ |
| 42 |
--build-arg ZIG_VERSION=$ZIG_VERSION --build-arg ZIG_SHA256=$ZIG_SHA256 "$here" |
| eb5c4db6 Andy McCall ↶ |
43 |
id=$(docker create oxygenflow-build) |
| 44 |
docker export "$id" -o "$out" |
| 45 |
docker rm "$id" >/dev/null |
| eba589f8 Andy McCall ↶ |
46 |
rm -rf "${here:?}/vendor" "${here:?}/npm-cache" "${here:?}/warm" |
| eb5c4db6 Andy McCall ↶ |
47 |
echo "$out" |