Repository navigation
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.
Adds the two workflows from
.claude/tasks/14-ci-release-pipeline.md, plus the CI badge in the README.ci.ymlRuns on pull requests, on pushes to
main, and on manual dispatch. Oneubuntu-latestjob mirroring the package scripts:pnpm lint→pnpm check→ unit tests →pnpm build(which already coverssvelte-packageandpublint).Chromium is installed before the unit tests, because the
clientvitest project runs them in browser mode. The binaries are cached on the Playwright version; on a cache hit only the OS-level dependencies are reinstalled.pnpm's version is pinned in the workflow instead of being read from
packageManager— that field is not inpackage.jsonyet. Once it is, theversioninput can go.There is no e2e step: no
*.e2e.tsfiles exist yet, andplaywright testexits 1 with "No tests found". It comes back with the first real e2e test.release.ymlManual only —
workflow_dispatch, no push, tag or release triggers. Publishing needs external sign-off, so nothing here publishes by itself. Thedry_runinput defaults to true and runsnpm publish --dry-run, which builds the tarball and prints its contents without touching the registry.Before publishing, the job checks that the version in
package.jsonis not already on npm.npm publish --dry-runnever asks the registry, so without that check a dry run would pass and the real run would fail with a 403. The job also re-runs lint, types and the unit tests:workflow_dispatchcan be launched from any branch, so a green CI onmainsays nothing about what is actually being published.The real publish uses
--provenance, which needsid-token: writeand therepositoryfield inpackage.json.An
NPM_TOKENsecret has to exist in the repository settings before the first real run.The test change
autosize.svelte.test.tsasserted that the chart root stays exactly 240px after its container narrows to 200px. That holds only while the legend still fits the box, and how many rows the legend wraps to is a font metric: on Linux the labels are wider, the legend takes more rows than it does on macOS, the plotting area is squeezed to nothing and the root outgrows the element. The first CI run failed on exactly that, withexpected 273 to be 240.That behaviour is intentional — the next test starts from it — so the assertion is now relative: the legend's growth is measured, and the plot has to give up exactly that much, clamped at zero. Checked across container widths from 200px down to 110px, including the clamped case.
Not in this PR
The
0.1.0version bump andCHANGELOG.mdland separately, before the release. Until they do,Verify version is not published yetfails by design:0.0.1is taken by the placeholder on npm.The peer-dependency matrix (svelte and uplot floors vs latest) is the second stage of the task and waits on the uplot floor audit.