Skip to content

ci: changesets-driven releases#7

Merged
DylanPiercey merged 1 commit into
mainfrom
claude/tree-sitter-changesets-release
Jun 26, 2026
Merged

ci: changesets-driven releases#7
DylanPiercey merged 1 commit into
mainfrom
claude/tree-sitter-changesets-release

Conversation

@DylanPiercey

@DylanPiercey DylanPiercey commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Adopts changesets for versioning and publishing @marko/tree-sitter, mirroring marko-js/htmljs-parser.

Developer flow: run npm run change on a feature PR to add a changeset. On push to main, changesets/action opens a "[ci] release" PR that bumps the version, syncs tree-sitter.json, and writes CHANGELOG.md. Merging that PR tags the release and publishes.

Publish: the existing all-platform prebuild + wasm + npm publish jobs in release.yml now run on push to main, 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:

  • Enable Settings → Actions → General → "Allow GitHub Actions to create and approve pull requests" so the action can open the release PR.
  • The npm trusted-publisher config already points at release.yml, which is preserved.

Validated locally: changeset version bumps 0.1.0 → 0.2.0, syncs tree-sitter.json, and generates the changelog; changeset tag emits v0.2.0 (the signal the action gates on).

@coderabbitai

coderabbitai Bot commented Jun 26, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

Pull request was closed or merged during review

Walkthrough

Adds Changesets configuration and documentation, installs Changesets tooling, adds scripts for changeset creation/versioning/publishing, and adds a helper that syncs tree-sitter.json version metadata from package.json. The release workflow now runs on pushes to main, uses changesets/action to version and tag, gates downstream jobs on the release result, and publishes through the new release script with provenance enabled.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly reflects the main change: switching release automation to Changesets-driven releases.
Description check ✅ Passed The description is directly related to the Changesets release workflow and matches the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/tree-sitter-changesets-release

Comment @coderabbitai help to get the list of available commands.

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.
@DylanPiercey
DylanPiercey force-pushed the claude/tree-sitter-changesets-release branch from 84ceb14 to 8bc1d73 Compare June 26, 2026 16:52
@changeset-bot

changeset-bot Bot commented Jun 26, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 8bc1d73

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@DylanPiercey
DylanPiercey merged commit 6e7908c into main Jun 26, 2026
8 checks passed
@DylanPiercey
DylanPiercey deleted the claude/tree-sitter-changesets-release branch June 26, 2026 16:59
@DylanPiercey DylanPiercey moved this to Done in Roadmap Jun 29, 2026
@DylanPiercey DylanPiercey self-assigned this Jun 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant