[DX-1017] Update Dependabot config to reduce PR bloat / noise#245
[DX-1017] Update Dependabot config to reduce PR bloat / noise#245
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Review Summary
This PR only changes .github/dependabot.yml. No CLI source, tests, or build config are affected — the standard oclif/TypeScript checklist does not apply. Review is scoped to Dependabot config correctness.
One concern: cooldown key validity
The PR introduces a cooldown block on all four update entries:
cooldown:
semver-major-days: 7
semver-minor-days: 3
semver-patch-days: 3Risk: I cannot verify whether cooldown with these exact sub-keys (semver-major-days, semver-minor-days, semver-patch-days) is currently supported by Dependabot. If the key is unrecognised or the sub-key names are wrong, Dependabot will silently ignore the block — the supply-chain protection the PR describes won't be active, but everything else still works. Before merging, it's worth a quick check against the Dependabot configuration reference to confirm the exact key names are correct.
Everything else looks good
- Three-tier grouping strategy (dev-minor-patch / prod-minor-patch / dev-major / prod-major individual) is sound and well-reasoned.
ignorerules forzod,inquirer, andtypescriptmajors are appropriate — these are genuinely non-trivial migrations.- Monthly cadence for
react-web-cliandexamples/web-cliis a reasonable noise reduction for non-published sub-packages. - GitHub Actions wildcard group is a clear improvement over 5 individual PRs.
- Conventional commit prefixes (
fix(deps)/chore(dev-deps)) and label additions are useful operational improvements. - The PR description itself is thorough and includes the rationale future maintainers will need when revisiting the ignore rules.
Overall: Ready to merge once the cooldown key syntax is verified against official docs.
|
Walkthrough: This PR rewrites the Dependabot configuration to reduce dependency PR noise from ~30 open PRs down to ~5-8. It adopts a three-tier grouping strategy for the root package, adds cooldown periods for newly published versions, moves sub-package schedules to monthly, and groups all GitHub Actions updates into a single PR. Changes: Config - .github/dependabot.yml - Complete rewrite: tiered grouping, ignore rules for infeasible major migrations (zod, inquirer, typescript), cooldown periods, conventional commit prefixes, monthly schedule for sub-packages, GitHub Actions wildcard grouping. Review Notes: No code changes - purely a CI/tooling configuration change with no impact on the CLI itself. Immediate action required: ~30 existing open Dependabot PRs should be closed manually; they will be recreated under the new grouping on the next Monday 09:00 UTC run. Ignored major versions: zod (v3 to v4), inquirer (v9 to v13), and typescript (v5 to v6) are excluded. These stale PRs will stop appearing but migrations still need to happen - a quarterly review reminder is recommended. Cooldown field: Verify this feature is supported by the Dependabot version in use - it is relatively new. Sub-package major updates: react-web-cli and examples/web-cli now group all updates including majors into a single monthly PR, which could obscure breaking changes. Labels: react-web-cli, examples, and github-actions labels may need to be created in the repo before the config takes full effect. |
|
@claude recently axios dependency was compromised https://snyk.io/blog/axios-npm-package-compromised-supply-chain-attack-delivers-cross-platform/ , so we definitely need cooldown to make sure no vulnerability is introduced. |
|
I checked and validated |
86999a4 to
56bf7a2
Compare
WalkthroughThis PR rewrites Changes
Review Notes
|
Rewrites the Dependabot configuration following industry standards (Fastify, Node.js, Grafana, Terraform patterns) to fix the core problem: 30 open PRs creating review fatigue and wasting CI resources. Key changes: - 3-tier grouping for root: minor/patch grouped, dev majors grouped, prod majors individual for maximum visibility - Wildcard grouping for sub-packages: single PR per directory - Monthly schedule for sub-packages (not the core product) - GitHub Actions wildcard grouping: 5 PRs become 1 - Ignore rules for infeasible major migrations (zod, inquirer, typescript) - Cooldown (7d major, 3d minor/patch) for supply-chain protection - Labels for filtering and automation - Conventional commit prefixes (fix(deps)/chore(dev-deps)) - Pinned schedule: Monday 09:00 UTC Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Added comment regarding security related updates
56bf7a2 to
b3b2240
Compare
/): runs weekly— This is the npm published product and gets the highest scrutinyreact-web-cli,examples/web-cli): run monthly — they are not the core product, not published independently, and have only ~20-24 dependencies each; monthly reduces CI load from 52 to 12 runs/year per sub-packageSummary
Rewrites the Dependabot configuration following industry best practices to address the current problem of ~30 open Dependabot PRs creating review fatigue, wasting CI resources, and burying actual dependency updates in noise.
Problem
Changes Introduced
1. Three-tier grouping for root package (
/)Instead of grouping only minor/patch (leaving every major as an individual PR), we now use a tiered strategy adopted by Fastify, SPS Commerce (4000+ repos), and others:
dev-minor-patchprod-minor-patchdev-majorWhy not group all majors together? A single broken major blocks the entire grouped PR, holding safe minor/patch updates hostage. This is the most common complaint from teams that tried grouping everything (ref).
2. Ignore rules for infeasible major migrations
These PRs sit open for weeks, waste CI on every rebase, and won't be merged until the team plans the migration:
zodinquirertypescript3. Cooldown for newly published versions
Defers PRs for recently published package versions. Security updates bypass cooldown entirely.
Industry precedent: Node.js uses 5-day cooldown across the board. GitHub officially recommends cooldown as a supply-chain defense.
4. Monthly schedule for sub-packages
/packages/react-web-cliand/examples/web-climoved from weekly to monthly:patterns: ["*"]) collapses all updates into one PRIndustry precedent: Node.js uses different frequencies per directory. Grafana uses monthly for non-core packages.
5. GitHub Actions wildcard grouping
All GitHub Actions updates now land in a single grouped PR instead of 5 individual ones. No reason to review
actions/setup-nodeseparately fromactions/upload-artifact.Industry precedent: TypeScript and Node.js both use
patterns: ["*"]for GitHub Actions.6. Labels for filtering and automation
dependenciesdependencies,react-web-clidependencies,examplesdependencies,github-actionsEnables GitHub UI filtering, notification routing, and automation rules.
7. Conventional commit prefixes
fix(deps): ...chore(dev-deps): ...If semantic release is ever adopted, prod dependency updates automatically trigger patch releases while dev updates do not. Used by Fastify and Grafana.
8. Pinned schedule
All weekly ecosystems run on Monday 09:00 UTC — predictable batch-review window instead of surprise PRs on random days.
Expected Impact
Follow-up Actions
dependencies,react-web-cli,examples,github-actions(if they don't exist)ignorerules (zod, inquirer, typescript)Industry References
dependencies-majorgroup🤖 Generated with Claude Code