docs: derive CI module lists from the poms that declare them, not a hard-coded list - #25986
Merged
Merged
Conversation
Add a Build & Dependencies convention: a script or CI workflow must read the set of modules it iterates over from the poms that declare them, instead of carrying a hard-coded list that drifts when a module is added. Distilled from review comments on merged pull requests #25919 and #25736. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Artur-
approved these changes
Sep 28, 2026
Artur-
marked this pull request as ready for review
September 28, 2026 12:26
Artur-
enabled auto-merge
September 28, 2026 12:26
|
Contributor
Author
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.



What this proposes
A script or CI workflow must read the set of modules it iterates over from the
poms that declare them (a
<module>list, or a per-module marker such asvalidation.run), rather than carrying a hard-coded module list that driftswhen someone adds a module.
Where it came from
@Artur-,@mcollovatiscripts/previewModule.js:50-63on main now reads<module>fromflow-tests/pom.xml("so that a new test module is picked up without listing it anywhere");.github/workflows/validation.yml:97,510-512derives the Quarkus matrix from thevalidation.runPOM marker viascripts/computeMatrix.js:452-465.Window: 53 merged pull requests from the last 7 days (62 merged total; 9
dependency bumps skipped).
Counter-example check: grepped
scripts/and.github/workflows/for modulehandling. Compliance dominates —
computeMatrix.js,previewModule.jsandpreviewPackage.shall parse<module>/validation.runfrom poms; the centralmatrix is entirely pom-derived. The one
-pl test-devloop-*/devloop-sharedline in
validation.yml:281is a targeted build-prerequisite command for twoshared submodules, not a maintained module inventory, so it is not a
counter-example.
Why it is worth a rule
Two reviewers, on two unrelated pull requests, made the same call by hand:
Artur on a preview-deploy script ("This should not list all modules, nobody
will remember to update them"), and mcollovati on the Quarkus CI matrix
("Having the modules hard-coded here looks a bit difficult to maintain... have
the configuration in the pom.xml, where the modules are actually defined").
Both authors reworked the code to read from the poms. A reader of the new
paragraph writing the next CI script will derive the list up front instead of
being told to in review, and a stale hard-coded list — the kind that silently
skips a new module from a test run — is caught at authoring time.
Considered and dropped
CONVENTIONS.md§ Naming.covered by § Testing ("Do not add tests for behavior you did not change").
already covered by § Testing ("extend one instead of adding a near-duplicate").
the counter-example check; exact-string assertions on generated JS are the
norm across flow-server tests.
PR Hygiene.
Review notes
CONVENTIONS.md. No code, tests or build files.again.
Auto-generated by Guidelines Bot from review comments on merged pull requests.