Repository navigation
ci(demo): test the package built from each commit - #97
Merged
Merged
Conversation
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.
Problem
The assistant-ui demo's model and parser-runner tests install
streamfold@0.1.7from npm. A PR can therefore break the current package's demo integration while those checks still pass. The separate WASM bundling test already covers workspace code, but it does not exercise the installed adapter through the demo.Reproduction on main at
3965515: runnpm ciinexamples/assistant-ui-demo, thennpm ls streamfold. It resolves 0.1.7 although the workspace package is 0.1.14, and changing the workspace adapter does not change that installed copy.Root cause
The only demo CI lane uses its committed npm lockfile and never installs the package from the commit under test.
Change
Run the existing demo checks in two matrix lanes. The published lane retains the pinned npm release. The candidate lane uses the pinned Rust toolchain and the package's existing prepack hook to build and pack the current commit, then installs that tarball with
--no-save --ignore-scriptsbefore running the same unit tests, production build, and Chromium tests.The install continues reading the demo lockfile.
--no-saveleaves both the manifest and lockfile unchanged. Only Streamfold is replaced; no workspace alias or new runtime dependency is added.Verification
pnpm release:check: 197 JavaScript tests and 11 Rust tests pass, plus type, syntax, formatting, Clippy, WASM build, and package checks.npm testpasses 24 tests,npm run buildpasses, andnode --test --test-concurrency=1 tests/*.test.mjspasses all 7 browser tests in each lane.CHROME_EXECUTABLE; CI installs Playwright Chromium.Public surface
None. CI and contributor/demo documentation only; the demo's published dependency pin remains unchanged.