Skip to content

chore: manage releases with release-please - #8

Merged
emmanuel merged 1 commit into
masterfrom
chore/release-please
Sep 6, 2026
Merged

chore: manage releases with release-please#8
emmanuel merged 1 commit into
masterfrom
chore/release-please

Conversation

@emmanuel

@emmanuel emmanuel commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator

Second of three stacked PRs. Based on #7; retargets to master once that merges.

Replaces the tag-triggered lerna release. Pushing a v* tag by hand meant
deciding the version by hand. release-please derives it from the conventional
commits that landed and keeps a release PR open with the changelog it will
publish, so the version follows from the commits rather than being a judgement
call at release time.

Lockstep versioning

Via the linked-versions plugin, which is what lerna.json's fixed mode was
expressing. The versions had already drifted — cli and example at 2.4.3, the
other four at 2.4.2 — so this normalises everything to 2.4.3 and aligns the
interdependency ranges. node-workspace keeps those ranges updated on future
releases. example is private and is not listed for release.

Publishing

Moves from lerna publish from-git to from-package: release-please creates
the tags itself, so from-git would look for tags lerna made and find none. The
publish job is gated on releases_created, so an ordinary push to master only
refreshes the release PR.

chore and docs are hidden from the changelog but still land; feat, fix,
perf, refactor, build and ci are surfaced.

The next release is 3.0.0

The flattened history already carries BREAKING CHANGE footers for the package
rename and the Node 24 / ESM-only move, so release-please arrives at 3.0.0 on
its own rather than needing to be told. Nothing here forces a release — the
version lands whenever the accumulated breaking changes are ready to go out,
and more are expected before then.

Checked

Repo Actions settings already allow workflows to create pull requests
(default_workflow_permissions: write, can_approve_pull_request_reviews: true), so release-please can open its PR. I could not read the org-level
policy, which can override this.

Base automatically changed from chore/commit-hooks to master September 6, 2026 18:29
Replaces the tag-triggered lerna release. Pushing a v* tag by hand meant
deciding the version by hand; release-please derives it from the conventional
commits that landed and keeps a release PR open with the changelog it will
publish, so the version follows from the commits rather than being a judgement
call at release time.

Versions stay in lockstep via the linked-versions plugin, which is what
lerna.json's fixed mode was expressing. They had already drifted, with cli and
example at 2.4.3 and the other four at 2.4.2, so this normalises everything to
2.4.3 and aligns the interdependency ranges to match. node-workspace keeps those
ranges updated on future releases. The example package is private and is not
listed for release.

Publishing moves from `lerna publish from-git` to `from-package`, because
release-please creates the tags itself; from-git looks for tags lerna made and
would find none. The publish job is gated on releases_created, so an ordinary
push to master only refreshes the release PR.

chore and docs commits are hidden from the changelog but still land; feat, fix,
perf, refactor, build and ci are surfaced.

The next release is intended to be 3.0.0. The flattened history already carries
BREAKING CHANGE footers for the package rename and the Node 24 and ESM-only
move, so release-please will arrive at that on its own rather than needing to be
told. Nothing here forces a release; the version lands whenever the accumulated
breaking changes are ready to go out.
@emmanuel
emmanuel force-pushed the chore/release-please branch from cfee7b5 to 8cceb70 Compare September 6, 2026 18:30
@emmanuel
emmanuel merged commit 325ada5 into master Sep 6, 2026
3 checks passed
@emmanuel
emmanuel deleted the chore/release-please branch September 6, 2026 19:03
emmanuel added a commit that referenced this pull request Sep 6, 2026
Replaces the tag-triggered lerna release. Pushing a v* tag by hand meant
deciding the version by hand; release-please derives it from the conventional
commits that landed and keeps a release PR open with the changelog it will
publish, so the version follows from the commits rather than being a judgement
call at release time.

Versions stay in lockstep via the linked-versions plugin, which is what
lerna.json's fixed mode was expressing. They had already drifted, with cli and
example at 2.4.3 and the other four at 2.4.2, so this normalises everything to
2.4.3 and aligns the interdependency ranges to match. node-workspace keeps those
ranges updated on future releases. The example package is private and is not
listed for release.

Publishing moves from `lerna publish from-git` to `from-package`, because
release-please creates the tags itself; from-git looks for tags lerna made and
would find none. The publish job is gated on releases_created, so an ordinary
push to master only refreshes the release PR.

chore and docs commits are hidden from the changelog but still land; feat, fix,
perf, refactor, build and ci are surfaced.

The next release is intended to be 3.0.0. The flattened history already carries
BREAKING CHANGE footers for the package rename and the Node 24 and ESM-only
move, so release-please will arrive at that on its own rather than needing to be
told. Nothing here forces a release; the version lands whenever the accumulated
breaking changes are ready to go out.
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