Repository navigation
CI: Check CHANGELOG presence for published tooling and config packages - #83577
Conversation
Extend the package CHANGELOG verifier to the npm-published tooling and config packages (Babel, ESLint, Stylelint, Prettier, PostCSS, webpack plugins, scripts, env, create-block and templates, docgen, and e2e-test-utils-playwright). Also ignore test, __tests__ and stories directories anywhere in a package, not only under src/, since tooling packages keep tests at paths like test/, lib/test/ and rules/__tests__/.
mirka
left a comment
There was a problem hiding this comment.
Adding these entries makes every matching PR start 35 presence jobs instead of 16. On this PR, the 19 new jobs checked out the repository and fetched trunk before skipping. Apparently that's not too significant in wall clock time (13 seconds total?), but I can't help but think it can be done more efficiently 😅 Separate problem though.
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
Yeah, I don't think the package per-job is sustainable, and I explored moving them to a single job at #83486 — worth doing in a follow-up and measuring which approach is more efficient. |
Maybe we can do the single-job consolidation as its own pull request separate from the changes to require changelog entries? If that would be easier / incremental / less controversial. |
WordPress#83577) - Extend the package CHANGELOG verifier to the npm-published tooling and config packages - I gnore test, __tests__ and stories directories anywhere in a package, not only under src/, since tooling packages keep tests at paths like test/, lib/test/ and rules/__tests__/. Co-authored-by: simison <simison@git.wordpress.org> Co-authored-by: mirka <0mirka00@git.wordpress.org>
Alternative to #83486
What?
Extend the package CHANGELOG verifier to the npm-published tooling and config packages.
What changed:
babel-plugin-import-jsx-pragma,babel-plugin-makepot,babel-preset-defaultbrowserslist-config,npm-package-json-lint-config,prettier-config,stylelint-configcreate-block,create-block-interactive-template,create-block-tutorial-templatedependency-extraction-webpack-plugin,readable-js-assets-webpack-pluginpostcss-plugins-preset,postcss-themesdocgen,e2e-test-utils-playwright,env,eslint-plugin,scriptswp-buildwas already covered.testandstoriesfolders undersrc/were skipped. These packages keep tests elsewhere. This also stops test-only changes tothemeandwp-buildfrom being flagged. We still keep real source files, including one likeutils/testing.js.Why?
These are tools consumers rely on, so it's fair to give a proper heads-up when they change or add new features.
How?
Expands existing CI checklists.
Over the last six months of trunk, this change makes the changelog check run on about 10% more PRs, and it would have flagged about 41% more PRs for a missing changelog entry. In absolute terms that's roughly 3–4 extra flagged PRs a week.
How often the CHANGELOG check would trigger (AI Analysis)
The sample is 3,349 PRs merged since 2026-03-28, after dropping automated release, publish and "backport release metadata" commits. Those touch every package at once, so they inflate the counts for both rules.
Testing Instructions
CI passing.
Use of AI Tools
claude