-
Notifications
You must be signed in to change notification settings - Fork 1
Description
At present, PRs require every touched package (and repo root where relevant) to have:
- a
CHANGELOG.mdentry - a
package.jsonversion update (i.e. runningnpm version)
Both of these presume that the PR will be the next to be merged, so that the version bump is correct.
Since PRs may be merged out-of-creation-order, and many may be raised in contention for the same version, there is toil dealing with merge downs each time a PR is merged to main, since versions must be bumped. Also, the date added in the CHANGELOG.md may be the time the change was authored (or more likely when the PR is opened) but unlikely to be the date the package(s) are released.
To reduce this toil, the repo could consider tooling such as:
- https://github.com/changesets/changesets (see issues here and here/here)
- https://semantic-release.gitbook.io/semantic-release/
...additionally, the package.json and CHANGELOG.md files could be strictly controlled using a push ruleset, but whilst the pipeline checks for version validity and dangerJs checks for changelog updates, freedom to manually curate should probably still be allowed.
see also:
The GitHub Actions pipeline utilises workspace-version to reify file:../ references in monorepo cross-references.
This repo uses keepachangelog.org format for changelogs, with the mantra:
Don’t let your friends dump git logs into changelogs.