feat(ci): automated versioning via release-please + commitlint - #20
Merged
Merged
Conversation
release-please (release-type: simple, v5) maintains a rolling release PR from the conventional commits since the last release, bumping the version + regenerating the CHANGELOG; merging it cuts the release. A follow-up step moves the floating v1 alias onto each release (release-please tags vX.Y.Z but doesn't manage the major alias). commitlint enforces Conventional Commits on PRs so the bump/changelog input stays honest. Uses the default GITHUB_TOKEN (no PAT); trade-off noted in the workflow. Manifest seeded at 1.2.0 (current release). No CHANGELOG hand-edit here — release-please takes ownership going forward; its first release PR proposes the next version.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automated versioning, as requested. Four pieces:
release-type: simple, v5, SHA-pinned) — on push to main, reads conventional commits since the last release and maintains a rolling release PR that bumps the version + regenerates the CHANGELOG. You cut the release by merging that PR (milestone-timed). No language package to publish — it just tracks version + changelog.v1alias mover — release-please tagsvX.Y.Zbut doesn't manage the major alias; a follow-up step re-pointsv1onto each release so@v1consumers get minors/patches.1.2.0.Two things to know:
1.3.0, given the recentfeat:commits) with commit-derived notes. The existing hand-written## [Unreleased]bullets will be superseded by that generated section — review the release PR before merging and tidy the staleUnreleasedheader once. chore(git): union merge driver for CHANGELOG.md #18's union driver becomes a harmless backstop.GITHUB_TOKEN(no PAT/secret). The release PR's own gate checks won't auto-run as a result — fine for a version/changelog PR you review. Swap to a PAT later if you want checks on it.Merge this, and on the next push to main you'll see the first release PR appear.