Ship the Bare ELF in the release and stop baking host paths into the service.
Rolling release / release (push) Failing after 6m40s

The rolling bundle already contains the runtime binary. The installer now starts that file through a relative launcher, and the checkout unit is no longer packed for other users.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
2026-09-14 12:29:26 -04:00
co-authored by Cursor
parent 3c9257ce88
commit c88062ba69
9 changed files with 58 additions and 19 deletions
+15 -2
View File
@@ -15,7 +15,8 @@ mkdir -p "${OUT_DIR}"
BUNDLE_DIR="${OUT_DIR}/jarvis-qvac-bare-${PLATFORM}"
rm -rf "${BUNDLE_DIR}" "${OUT_DIR}/jarvis-qvac-bare-${PLATFORM}.tar.gz"
mkdir -p "${BUNDLE_DIR}"
tar --exclude='.git' --exclude='./.agents' --exclude='./.codex' --exclude='./dist' --exclude='./vendor/agent-harness/node_modules' --exclude='*/__pycache__' --exclude='*.pyc' -cf - -C "${ROOT_DIR}" . | tar -xf - -C "${BUNDLE_DIR}"
# The checkout unit points at a developer tree and Node. Do not ship it.
tar --exclude='.git' --exclude='./.agents' --exclude='./.codex' --exclude='./dist' --exclude='./systemd' --exclude='./vendor/agent-harness/node_modules' --exclude='*/__pycache__' --exclude='*.pyc' -cf - -C "${ROOT_DIR}" . | tar -xf - -C "${BUNDLE_DIR}"
cp -a "${ROOT_DIR}/node_modules" "${BUNDLE_DIR}/"
# QVAC publishes one package containing native prebuilds for every supported
# platform. The rolling asset is architecture-specific: retain all Linux x64
@@ -31,6 +32,18 @@ fi
if [[ "${JARVIS_VERIFY_VOICE_MODELS:-0}" == "1" ]]; then
(cd "${BUNDLE_DIR}" && bash packaging/bare-launch.sh packaging/bare-run.js packaging/voice-model-smoke.js)
fi
chmod 755 "${BUNDLE_DIR}/packaging/jarvisd-launch.sh" "${BUNDLE_DIR}/node_modules/bare-runtime-${PLATFORM}/bin/bare"
tar -C "${OUT_DIR}" -czf "${OUT_DIR}/jarvis-qvac-bare-${PLATFORM}.tar.gz" "jarvis-qvac-bare-${PLATFORM}"
rm -rf "${BUNDLE_DIR}"
echo "${OUT_DIR}/jarvis-qvac-bare-${PLATFORM}.tar.gz"
ARCHIVE="${OUT_DIR}/jarvis-qvac-bare-${PLATFORM}.tar.gz"
MEMBER="jarvis-qvac-bare-${PLATFORM}/node_modules/bare-runtime-${PLATFORM}/bin/bare"
if ! tar -tzf "${ARCHIVE}" | grep -qx "${MEMBER}"; then
echo "Release archive is missing the Bare runtime executable: ${MEMBER}" >&2
exit 1
fi
if tar -tzf "${ARCHIVE}" | grep -q 'systemd/user/jarvisd.service'; then
echo "Release archive still contains the developer systemd unit." >&2
exit 1
fi
echo "Packaged Bare runtime ${MEMBER}"
echo "${ARCHIVE}"