Skip to content

ci: run the package check in CI, and document how a release happens - #245

Merged
pathscale merged 1 commit into
masterfrom
docs/release-process
Aug 16, 2026
Merged

ci: run the package check in CI, and document how a release happens#245
pathscale merged 1 commit into
masterfrom
docs/release-process

Conversation

@pathscale

Copy link
Copy Markdown
Owner

Follow-up to #244, which fixed the README but not the reason it reached the release job at all.

The gap. check:package resolves the manifest's exports and every import written in README.md against the packed tarball. It ran only in Release, so a README documenting primitives/virtualizer (removed with TanStack solid-virtual) passed check, tsc, build, test, check:api and smoke on the PR, then stopped the 2.6.0 publish.

npm forbids replacing a published version, so a gate that fires only during a release costs a version number when it trips rather than a re-run. Moved forward to CI, right after Consumer Smoke since both need the built tarball.

The docs. docs/releasing.md writes down what the workflow already does but nothing outside it stated: how the version is derived from conventional commits, the two recovery modes when a release half-finishes, why publishing uses Trusted Publishing/OIDC with no NPM_TOKEN in the repo, which gates run and why they run twice, and what to do when a release fails. Linked from the README's documentation table.

The 2.6.0 failure is recorded there as the worked example, since "master says 2.6.0 but npm serves 2.5.0" is the genuinely confusing part.

bun run check:package: passes, 926 files.

🤖 Generated with Claude Code

The 2.6.0 release failed on a gate CI does not run. check:package resolves the
manifest exports and every import written in the README against the packed
tarball, and it lived only in the release job, so a README documenting a
subpath that went out with TanStack passed every check on the PR and stopped
the publish instead.

npm forbids replacing a published version, so a gate that fires only during a
release costs a version number when it trips rather than a re-run. Running it
in CI is the cheap place to fail.

docs/releasing.md writes down what the workflow already does: how the version
is derived from conventional commits, the two recovery modes, why publishing
uses OIDC with no token in the repository, and what to do when a release
fails. The 2.6.0 failure is recorded there as the worked example, since a
merged PR and a published version disagreeing is the confusing part.
@pathscale
pathscale merged commit 1027d2b into master Aug 16, 2026
1 check passed
@pathscale
pathscale deleted the docs/release-process branch August 16, 2026 10:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant