diff --git a/scripts/build_release.py b/scripts/build_release.py index ad25ea6..0d0c2d6 100755 --- a/scripts/build_release.py +++ b/scripts/build_release.py @@ -135,6 +135,7 @@ def main() -> int: run(["npm", "audit", "--audit-level=high"], tree) for file in ("app.js", "server.mjs", "service-worker.js", "src/analysis.js", "src/domain.js", "src/hermes-agent-service.js", "src/vision-config.js", "src/vision-service.js"): run(["node", "--check", file], tree) + run(["bash", "-n", "scripts/bootstrap_selfhost_smolvlm.sh"], tree) run(["bash", "-n", "scripts/run_selfhost_smolvlm.sh"], tree) run(["python3", "-m", "py_compile", "scripts/ingest_training_photo.py", "scripts/build_release.py"], tree) run(["git", "diff", "--check", commit], tree) diff --git a/tests/release-demo.test.js b/tests/release-demo.test.js index 5619d26..aa1b87a 100644 --- a/tests/release-demo.test.js +++ b/tests/release-demo.test.js @@ -20,9 +20,10 @@ test('release demo visibly explains the CI-protected browser path without overst assert.match(demo, /SLEEK\. SIMPLE\.
HERMES-POWERED\./); }); -test('release builder gates the sleek shell and Hermes chat browser path', async () => { +test('release builder gates the sleek shell, Hermes chat, and bootstrap syntax', async () => { const builder = await readFile(builderPath, 'utf8'); assert.match(builder, /"test:sleek"/); assert.match(builder, /"sleek_hermes_chat_acceptance": "passed"/); assert.match(builder, /Sleek three-destination shell/); + assert.match(builder, /"bash", "-n", "scripts\/bootstrap_selfhost_smolvlm\.sh"/); });