Rebuild web assets on every release#773
Merged
Merged
Conversation
Fold make deploy-web into the version-bump commit that release.yml tags, so docs/amy.js, amy.wasm, amy.aw.js and amy.ww.js are always built from the same source that gets tagged. The release tag and the Godot zip (which copies docs/amy.*) now match that exact commit instead of whatever was last deployed by hand. Toolchain mirrors the existing web job in c-cpp.yml (Python + numpy + pinned emsdk 4.0.22). The static enable-threads.js and the tulipcc-built micropython.* REPL files are not rebuilt here. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Rebuild the browser AMY web assets —
docs/amy.js,amy.wasm,amy.aw.js,amy.ww.js— from source on every release and fold them into the version-bump commit thatrelease.ymltags.Why
These four files are Emscripten build outputs, but until now they were only refreshed by hand via
make deploy-web. The Godot addon zip and thedocs/web demo both ship them, so a release could tag and ship stale web assets that didn't match the released source. Nowmain, the release tag, and the Godot zip all carry web built from that exact commit — by construction, sincegodot-addon.ymlis dispatched at the tag.How
releasejob (Python 3.13 + numpy +mymindstorm/setup-emsdk@4.0.22) — the same setup thewebjob inc-cpp.ymlalready uses, so the committed bytes match what CI verifies on every PR.make deploy-web.library.propertiesplus the fourdocs/amy.*outputs.Notes
docs/amy.*only.docs/enable-threads.js(static) anddocs/micropython.*(the separate tulipcc REPL build) are intentionally not rebuilt here.docs/only churns when web output actually changes.concurrency: releaselock. Ifmake deploy-webfails it aborts before any tag/release is created, andc-cpp.ymlalready gates the samemake webon every PR.release.yml, so the first release to use it is the one cut by this merge.🤖 Generated with Claude Code