Make the installed web command portable and preserve build failures - #166
Draft
proggeramlug wants to merge 2 commits into
Draft
Make the installed web command portable and preserve build failures#166proggeramlug wants to merge 2 commits into
proggeramlug wants to merge 2 commits into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
The installed
bloom-webcommand fails on Windows because npm's shim tries/bin/bash. The previous script also hideswasm-packfailures behind atailpipeline and can reuse stale build output.Expose a portable Node command that preserves compiler exit codes, requires fresh artifacts, and assembles the engine, Perry game and assets after successful compilation. Existing Bash/Python entry points delegate to the shared Node implementation. Add subprocess regression checks to repository contracts and a required Windows pack/install check that invokes npm's actual command.
Validation: all nine regression checks and repository contracts pass. A freshly packed package installs and runs
bloom-web --helpon Windows. Its installed build command compiles the actual game with Perry 0.5.1220, builds the engine with wasm-pack, and assembles the distribution and assets in a path containing spaces (107.140 seconds; 7,839,672-byte engine WASM). The Node splicer matches the previous implementation on actual Perry output after newline normalization. That initial full build used the synchronous-copy candidate. Following a hosted Node 22 directory-copy failure, the command now awaits asynchronous copies; the same nine local tests and actual pack/install command pass. A fresh package at f30ebd0 also completes the installed full web build (46.109 seconds; 7,839,664-byte engine WASM), including assets and the gated game page.Stacked on #165. The initial hosted Linux contracts pass; Windows exits during directory-copy regression checks. The original failure is retained, and the asynchronous-copy follow-up passes the hosted Windows pack/install check and Linux contracts. Hosted Tests run 34556841600 passes all 22 jobs; its merge checkout and the PR head have identical Git trees. Browser rendering, native startup and the complete starter/lifecycle remain open; the local browser connection is unavailable. The web guide identifies the portable command as part of the upcoming branch, since stable npm 0.4.16 still has the Bash entry point. Relates to #142, #74, #140 and #145.
Published report and evidence retain the original command and hosted copy failures, exact source, fresh full installed build and all final hosted results. ZIP SHA-256:
f0d74f30f4ff5c04b9a3a4c5e64d33c8b8f5765f264a9cd7fed34328ef7a54a2.