ci: changesets-driven releases#7
Conversation
|
Caution Review failedPull request was closed or merged during review WalkthroughAdds Changesets configuration and documentation, installs Changesets tooling, adds scripts for changeset creation/versioning/publishing, and adds a helper that syncs 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Adopt changesets for versioning and publishing @marko/tree-sitter, mirroring marko-js/htmljs-parser. - .changeset config (changelog-github) + README. - change / version / release:tag / release:publish scripts; version also syncs tree-sitter.json's metadata.version and refreshes the lockfile. - Rework release.yml to run on push to main: changesets/action opens a "[ci] release" PR and, on merge, tags the release. The all-platform prebuild + wasm + publish jobs are gated on that release. The publish job runs `changeset publish`, which only publishes versions not already on the registry, so it is a no-op unless the version actually changed; provenance is enabled via OIDC trusted publishing. Add a changeset to a feature PR (npm run change) to drive the next release.
84ceb14 to
8bc1d73
Compare
|
Adopts changesets for versioning and publishing
@marko/tree-sitter, mirroring marko-js/htmljs-parser.Developer flow: run
npm run changeon a feature PR to add a changeset. On push tomain,changesets/actionopens a "[ci] release" PR that bumps the version, syncstree-sitter.json, and writesCHANGELOG.md. Merging that PR tags the release and publishes.Publish: the existing all-platform prebuild + wasm +
npm publishjobs inrelease.ymlnow run on push tomain, gated on the changesets release signal, so they only fire on an actual release. Publishing still uses OIDC trusted publishing with provenance — no token.Notes / one-time setup:
release.yml, which is preserved.Validated locally:
changeset versionbumps0.1.0 → 0.2.0, syncstree-sitter.json, and generates the changelog;changeset tagemitsv0.2.0(the signal the action gates on).