Skip to content

ci: migrate from semantic-release to release-please#10

Merged
tux86 merged 1 commit into
mainfrom
chore/migrate-release-please
Jun 11, 2026
Merged

ci: migrate from semantic-release to release-please#10
tux86 merged 1 commit into
mainfrom
chore/migrate-release-please

Conversation

@tux86

@tux86 tux86 commented Jun 11, 2026

Copy link
Copy Markdown
Owner

Summary

Replaces semantic-release with release-please for automated versioning and npm publishing, and cleans up the old machinery.

Why

semantic-release silently released nothing on refactor/docs commits, and — due to a custom releaseRules gotcha — downgraded a feat! breaking change to a minor (1.3.0 instead of 2.0.0). release-please shows the pending version in a standing Release PR and handles feat! / BREAKING CHANGE → major correctly.

How it works now

  1. Conventional commits land on main → release-please opens/updates a Release PR (bumps package.json, updates CHANGELOG.md, shows pending notes).
  2. Merging that Release PR tags the release, creates the GitHub release, and publishes to npm — using the built-in GITHUB_TOKEN (no PAT) + NPM_TOKEN.

Changes

  • Add release-please-config.json (release-type: node) + .release-please-manifest.json (seeded to current 1.3.0)
  • Rewrite .github/workflows/release.yml → release-please + npm publish on release_created
  • Add .github/workflows/pr-title.yml → lints PR titles as Conventional Commits (PRs are squash-merged, so the title drives the release)
  • Remove .releaserc.json and all 7 @semantic-release/* + conventional-changelog-conventionalcommits devDependencies
  • Docs: CONTRIBUTING / CLAUDE / README updated; removed the noisy "too new" npm downloads badge

Required repo setting

Enable Settings → Actions → General → Allow GitHub Actions to create and approve pull requests so release-please can open its Release PR.

Cleanup

The RELEASE_TOKEN secret is now fully unused and can be deleted.

Replace semantic-release with release-please for automated versioning and
npm publishing. release-please maintains a Release PR; merging it publishes
to npm and creates the GitHub release using the built-in GITHUB_TOKEN (no PAT).

- Add release-please-config.json + .release-please-manifest.json (seeded 1.3.0)
- Rewrite release workflow; add PR-title linting for squash-merge reliability
- Remove .releaserc.json and all @semantic-release/* devDependencies
- Update CONTRIBUTING/CLAUDE/README docs
@tux86 tux86 merged commit f65d7bb into main Jun 11, 2026
2 checks passed
@tux86 tux86 deleted the chore/migrate-release-please branch June 11, 2026 16:22
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