Right now every push to master that touches the library auto-bumps the minor version and publishes to npm. Problems:
- Flooding library consumers with too many versions
- Always bumps minor - patch/major change has to be modified manually
- PR merger might forget to include
#SkipVersionBump to skip the version bump & publish
- Release notes workflow is manual and disconnected from the actual publish
Goal
Decouple merges from releases. Merging to master = code is ready, not ship it. Releases should be intentional, batching multiple changes into one versioned, documented publish.
Two options to evaluate
Changesets - each PR includes a small file describing the change and semver impact, bot batches them into a release PR.
Release Please - reads conventional commits and opens a release PR automatically. Relies on semantic commit messages.
Right now every push to
masterthat touches the library auto-bumps the minor version and publishes to npm. Problems:#SkipVersionBumpto skip the version bump & publishGoal
Decouple merges from releases. Merging to master = code is ready, not ship it. Releases should be intentional, batching multiple changes into one versioned, documented publish.
Two options to evaluate
Changesets - each PR includes a small file describing the change and semver impact, bot batches them into a release PR.
Release Please - reads conventional commits and opens a release PR automatically. Relies on semantic commit messages.