Skip to content

feat(NO-TASK): Allow the types the release-please standard sections - #9

Open
aaronware wants to merge 1 commit into
mainfrom
feat/NO-TASK/release-please-alignment
Open

feat(NO-TASK): Allow the types the release-please standard sections#9
aaronware wants to merge 1 commit into
mainfrom
feat/NO-TASK/release-please-alignment

Conversation

@aaronware

Copy link
Copy Markdown
Contributor

Allows the commit types that @linchpinagency/release-please-config gives changelog sections to, and brings this repo's own release-please-config.json onto that standard.

Why wp-plugin and wp-theme have to be types

release-please groups changelog sections strictly by commit type. changelog-sections[].type is the only key its schema offers, and the schema is additionalProperties: false — there is no scope key.

So update(wp-plugin) and update(wp-theme) — the form renovatebot-config@652b5ad emits today — share the type update and collapse into a single changelog section. Promoting them to types gives WordPress plugins and themes a section each:

### WordPress Plugins 🔌
* **wporg:** Update akismet to v5.3
* **linchpin:** Update gravityforms to v3 - Major

### WordPress Themes 🖌️
* **deps:** Update ollie-pro to v2.6.1

The scope now names where the package came from: wporg for anything public (wp-packages.org and wpackagist.org are two routes to the same wordpress.org packages), linchpin for packagist.linchpin.com.

Why deps and platform are allowed

Not because Renovate emits them — it no longer does, routing that traffic through build(npm) and build(composer). They're allowed because the fleet's history contains ~150 such commits, and because either reads better than build for a hand-written dependency commit.

What changed

File Why
index.js TYPES gains deps, platform, wp-plugin, wp-theme; DEP_SCOPES gains wporg, linchpin
index.test.js Covers the new types and scopes, and asserts a hyphenated type isn't truncated by the alternation
README.md Documents the WordPress types and the wporg / linchpin distinction
release-please-config.json Brought onto the shared standard

What this fixes

A crawl of 31 repos found the section lists and this type list had drifted apart in both directions:

  • add and remove are valid types here but had no section anywhere — those commits were dropped from every changelog silently
  • tweak had a section in 25 repos but was never a valid type, so no commit could reach it

release-please-config's test suite now asserts its section list equals this type list, so the two can't drift apart unnoticed again.

Review focus

index.js:3-15 — the type and scope lists, and whether deps/platform are worth keeping now that Renovate no longer emits them.

Both prefix forms lint, so PRs already open with update(wp-plugin) keep passing through the transition.

release-please groups changelog sections strictly by commit type - there is no
scope key in its schema - so wp-plugin and wp-theme have to be types, not only
scopes, for WordPress plugins and themes to get a changelog section each rather
than collapsing into `update`. linchpin/renovatebot-config emits them.

deps and platform are allowed for the fleet's history, which contains ~150 such
commits, and because either reads better than `build` for a hand-written
dependency commit. renovatebot-config itself now routes that traffic through
build(npm) and build(composer).

The scope slot under the WordPress types names where the package came from:
`wporg` for anything public - wp-packages.org and wpackagist.org are two routes
to the same wordpress.org packages - and `linchpin` for packagist.linchpin.com.

release-please-config.json is brought onto the shared standard at the same time,
which is also what fixes the two defects that standard exists to prevent: `add`
and `remove` had no section here, so those commits were dropped from changelogs
entirely.

@linchpinagency/release-please-config asserts that its section list equals the
type list here, so the two can no longer drift apart unnoticed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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