ci(renovate): group the browser/test tooling separately from development #60
No reviewers
Labels
No labels
dependencies
major
security-pin
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
trails-cool/trails!60
Loading…
Reference in a new issue
No description provided.
Delete branch "ci/renovate-testing-group"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Carves the browser/test tooling out of the catch-all
developmentgroup.Why these six, and not the three obvious ones
Two families, each with an exact internal pin, which is what forces them to move together:
Let either family split across versions and pnpm installs two parallel trees that
pnpm dedupecannot merge — the exact pin makes the two lines incompatible by construction. Not hypothetical: #38 shippedplaywright1.62.0 and 1.62.1 side by side, dedupe left all four entries in place when run, and the fix was narrowing the manifest range.The vitest side is the more fragile of the two, and it's why the group is wider than just the playwright trio:
vitestis declared in the root while@vitest/browser*live inapps/planner, so there is no single file where the coupling is visible. The group is where it gets written down.What this does not do
It does not prevent a split. These were already grouped under
developmentwhen #38 happened — the divergence came frompnpm dedupere-resolving after Renovate had picked versions, which no grouping can constrain.What it buys is attributable failures.
developmentcurrently bundles eslint, prettier, turbo, typescript-eslint, react-i18next, react-test-renderer and@types/nodetogether with the test tooling. When that PR goes red you cannot tell which package caused it — #38 is the worked example. Splitting these out means an E2E or visual-regression failure points at the tooling that owns those suites.Placement
After
developmentso it wins under later-wins ordering, and before themajors -> groupName: nullrule so a major is still reviewed on its own rather than being swept into the group.Verified
Effective group computed per scenario, modelling
matchManagersas well asmatchDepTypesandmatchUpdateTypes:playwright/@playwright/test/playwright-corevitest/@vitest/browser/@vitest/browser-playwrightplaywright,vitesteslint,prettierreact-router(catalog)node(Dockerfile)My first pass at that check omitted
matchManagersand consequently reported everything as "docker base images" — worth mentioning because the corrected simulation is the only reason I can claim nothing else moved.