mirror of
https://github.com/stablyai/orca.git
synced 2026-10-31 09:07:40 +00:00
build(linux): carry the pinned Node inside the AppImage so serve's slot works offline (#28204)
* build(linux): carry the pinned Node inside the AppImage so orca serve's slot works offline Linux packaging places the pinned glibc Node at resources/node-runtime/bin/node before the glibc-floor gate, proves it serves one PTY with the packaged daemon entry, and deb/rpm exclude it through fpm. orca serve's orcad slot copies that Node (hash-checked) instead of downloading. * test(serve): type the bundled Node fixture --------- Co-authored-by: m4air <m4air@Mac.localdomain>
This commit is contained in:
@@ -1173,6 +1173,19 @@ jobs:
|
||||
rpm_marker="$(rpm2cpio "$rpm" | cpio --quiet --extract --to-stdout ./opt/Orca/resources/package-type)"
|
||||
[[ "$deb_marker" == deb ]] || { echo "Expected deb marker, got: $deb_marker"; exit 1; }
|
||||
[[ "$rpm_marker" == rpm ]] || { echo "Expected rpm marker, got: $rpm_marker"; exit 1; }
|
||||
# Only the AppImage carries the pinned Node (config/scripts/appimage-node-runtime.cjs).
|
||||
if dpkg-deb --fsys-tarfile "$deb" | tar -t | grep '/resources/node-runtime' >/dev/null; then
|
||||
echo "The deb must not carry the AppImage's Node"; exit 1
|
||||
fi
|
||||
if rpm2cpio "$rpm" | cpio --quiet -t | grep '/resources/node-runtime' >/dev/null; then
|
||||
echo "The rpm must not carry the AppImage's Node"; exit 1
|
||||
fi
|
||||
appimage_root="$(mktemp -d)"
|
||||
(cd "$appimage_root" && "$GITHUB_WORKSPACE/dist/orca-linux.AppImage" --appimage-extract 'resources/node-runtime/bin/node' >/dev/null)
|
||||
test -x "$appimage_root/squashfs-root/resources/node-runtime/bin/node"
|
||||
"$appimage_root/squashfs-root/resources/node-runtime/bin/node" --version
|
||||
rm -rf "$appimage_root"
|
||||
ls -l dist/orca-linux.AppImage "$deb" "$rpm"
|
||||
|
||||
- wait: shutdown-fixture-cache
|
||||
|
||||
|
||||
Reference in New Issue
Block a user