Skip to content

Commit 300ffac

Browse files
committed
fix: match Release Please root title
1 parent 5b03072 commit 300ffac

4 files changed

Lines changed: 21 additions & 9 deletions

File tree

RELEASING.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -232,8 +232,9 @@ The repository maintains four independently auditable workflows:
232232
first failure. Standalone and release smoke jobs share one repository-wide
233233
concurrency group. Scheduled and manual live execution requires
234234
`LIVE_SMOKE_ENABLED=true`.
235-
- `release-please.yml`: patch-only versioning, an explicit `cometapi` component,
236-
separate pull requests, and an explicit component/version title. It requires
235+
- `release-please.yml`: patch-only versioning, an explicit `cometapi` branch
236+
component, separate pull requests, and the pinned root-package title
237+
`chore(main): release <version>`. It requires
237238
`RELEASE_PLEASE_ENABLED=true` and uses the default `GITHUB_TOKEN`. The
238239
authorized repository baseline keeps default workflow permissions read-only
239240
and allows Actions to create pull requests; it does not make bot review valid

ROADMAP.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,11 +114,13 @@ a human owner reviews its exact final head. Default workflow permissions remain
114114
read-only, bot approval is never accepted, and the workflow does not modify the
115115
repository setting. Patch-only versioning prevents an implicit 0.2 bump during
116116
this maintenance window. The temporary anchor must be removed in that release
117-
PR before merge. The explicit component does not enter the public tag; the only
118-
accepted patch tag is `v0.1.1`. Publication is triggered from the successful
119-
attempt-qualified Release Please push run and independently verifies that run's
120-
schema-v2 result artifact, default-branch commit, tag, immutable Release, and
121-
package artifact before the existing bounded live smoke and npm OIDC steps. A
117+
PR before merge. The explicit component identifies the temporary branch but,
118+
for this root package, does not enter the Release Please title or public tag;
119+
the only accepted patch tag is `v0.1.1`. Publication is triggered from the
120+
successful attempt-qualified Release Please push run and independently verifies
121+
that run's schema-v2 result artifact, default-branch commit, tag, immutable
122+
Release, and package artifact before the existing bounded live smoke and npm
123+
OIDC steps. A
122124
push rerun is bounded to the same run ID, SHA, candidate, Release-producing
123125
attempt, and exact Release state; manual preparation remains attempt-1-only.
124126
The Release notes must equal the reviewed `CHANGELOG` entry. The post-merge run also

scripts/release-workflow-validation.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ function stablePatch(version, label) {
6363
}
6464

6565
function releaseTitle(version) {
66-
return `chore(main): release cometapi ${version}`;
66+
return `chore(main): release ${version}`;
6767
}
6868

6969
function normalizeMarkdown(value, label) {

tests/release-workflow-validation.test.mjs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ function pullRequestFixture({ merged = false, version = "0.1.1" } = {}) {
6565
mergedAt: merged ? "2026-07-29T00:00:00Z" : null,
6666
number: 31,
6767
state: merged ? "closed" : "open",
68-
title: `chore(main): release cometapi ${version}`,
68+
title: `chore(main): release ${version}`,
6969
};
7070
}
7171

@@ -326,6 +326,15 @@ describe("Release Please pull request preparation", () => {
326326
});
327327
});
328328

329+
it("rejects an invented component in the pinned root-package title", () => {
330+
const state = preparedState();
331+
state.actionPullRequests[0].title = "chore(main): release cometapi 0.1.1";
332+
state.pullRequest.title = "chore(main): release cometapi 0.1.1";
333+
expect(() => validatePreparedReleasePullRequest(state)).toThrow(
334+
/release pull request title/i,
335+
);
336+
});
337+
329338
it("accepts an unchanged existing action-authored PR when the action returns no output", () => {
330339
expect(
331340
validatePreparedReleasePullRequest(

0 commit comments

Comments
 (0)