chore(release): npm publish pipeline + a global-install check that boots a show - #89
Closed
pyramation wants to merge 1 commit into
Closed
chore(release): npm publish pipeline + a global-install check that boots a show#89pyramation wants to merge 1 commit into
pyramation wants to merge 1 commit into
Conversation
…a show Adds deploy/verify-global-install.js: packs the real tarballs, installs them with npm overrides (no workspace links), then starts a show and asserts the laser UI bundle is served and doctor can read the brain. Wired into CI and into a tag-triggered release workflow that publishes every public package.
Contributor
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
Contributor
|
Closing — premature complexity. Cloning the repo is fine for the current single-operator workflow; revisit the npm publish pipeline when the app is handed to someone else. |
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.
Summary
Distribution is npm + GitHub, not a packaged installer: an operator runs
npm i -g @wavegrid/cliand gets the brain, the receiver, and the built artist UI. This makes that claim testable instead of assumed, and adds the workflow that publishes it.deploy/verify-global-install.js(pnpm verify:install, now a CI step) reproduces a real install:The workspace hides two bug classes that only bite an operator, both now covered:
@wavegrid/discoveryresolves to a sibling directory whether or not it's on the registry, sopnpm installis green whilenpm i -g404s. (Currently latent:cli@1.4.0on npm predates itsdiscoveryanddoctordeps, so the next publish must include both — which is exactly what the check enforces.) Verified by temporarily markingdiscoveryprivate: the script fails naming both dependents.@wavegrid/ui's built Vite bundle, which the brain serves fromrequire.resolve('@wavegrid/ui/package.json')/../dist. Asserting the asset referenced by the servedindex.htmlreturns >1kB catches a UI that shipped withoutdist/..github/workflows/release.yml: av*tag rebuilds, re-runs the verification,pnpm -r publish --access publices every public package (privatedesktop/webglskipped), and cuts a GitHub release. Versioning stays local (pnpm release:version→ lerna, independent, conventional commits) — the workflow only publishes what the tagged commit holds, so re-running it is safe.Needs an
NPM_TOKENrepo secret with publish rights to the@wavegridscope; nothing else. No signing, no Electron packaging.Link to Devin session: https://app.devin.ai/sessions/972698f89f494b86828010666a002b8f
Requested by: @pyramation