Skip to content

tulip/web: don't fail the build when amy has no amy.aw.js#1055

Merged
bwhitman merged 1 commit into
mainfrom
claude/web-build-tolerate-missing-amy-aw-js
Jun 29, 2026
Merged

tulip/web: don't fail the build when amy has no amy.aw.js#1055
bwhitman merged 1 commit into
mainfrom
claude/web-build-tolerate-missing-amy-aw-js

Conversation

@bwhitman

Copy link
Copy Markdown
Collaborator

Problem

amy dropped the separate amy.aw.js / amy.ww.js from its web build in shorepine/amy#775 — emscripten ≥4 inlines the AudioWorklet/WasmWorker glue directly into amy.js, which never references a separate .aw.js.

But tulip/web/build.sh still hard-copied it:

cp ../../amy/docs/amy.aw.js stage/run/amy-$timestamp.aw.js

Under set -e, once a newer amy is pinned that whole web-preview build aborts with:

cp: cannot stat '../../amy/docs/amy.aw.js': No such file or directory

This is what's failing the auto-pin PRs the amy→tulipcc pin workflow opens (e.g. #1053, which pins amy#777).

Fix

Guard the copy with [ -f ] so it's copied only when an older pinned amy still ships it — mirroring tulip/amyboardweb/dev.py, which already guards the identical copy with os.path.exists() (so AMYboard Web never broke; only tulip/web did).

No runtime effect: amy.js loads the worklet inline either way, and it references aw.js zero times in both the old (ec78cc8) and new amy. Works for both the old amy main still pins and the newer amy the pin PRs carry.

🤖 Generated with Claude Code

amy dropped the separate amy.aw.js/amy.ww.js from its web build (shorepine/amy#775):
emscripten >=4 inlines the AudioWorklet/WasmWorker glue into amy.js, which never
references a separate .aw.js. tulip/web/build.sh still hard-copied
amy/docs/amy.aw.js, so under `set -e` the whole web preview build aborts with
"cp: cannot stat '../../amy/docs/amy.aw.js'" once a newer amy is pinned (e.g. the
amy-pin PRs the tulipcc auto-pin workflow opens).

Guard the copy with `[ -f ]` so it's copied only when an older pinned amy still
ships it, mirroring amyboardweb/dev.py which already guards the same copy with
os.path.exists(). No runtime effect: amy.js loads the worklet inline either way.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🌷 Tulip Web PR preview

Tulip Web: https://tulip-pr-1055.vercel.app/run/

Rebuilt on every push; removed when the PR closes.

@bwhitman bwhitman merged commit 04e7fdb into main Jun 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant