ci(deps): group, throttle and auto-merge Dependabot updates - #135
Merged
Conversation
Dependabot opened about three pull requests every week: the npm production and development groups, plus one per GitHub Action since that ecosystem had no groups block at all. Regroup npm by semver impact instead of prod/dev, so patches can flow unattended while minors and majors are held for review ahead of a release tag. Group the actions ecosystem. Add the docker ecosystem, which was missing entirely and left the node base image unwatched. Groups default to applies-to version-updates, so a single advisory touching several packages still opened one pull request per package, bypassing both the schedule and the open pull request limit. Each ecosystem now carries a mirrored security-updates group. Add a 7 day cooldown so no release is adopted inside the window where a compromised package is usually caught and yanked. Cooldown covers version updates only and never delays a security fix. Auto-merge patch bumps once the required ci check passes. That check aggregates quality, test, build, integration and e2e, so the merge waits on the full suite. Also run the four workflows on develop. They were scoped to main only, which left the integration branch with no CI at all and deferred every regression to a 60 commit promotion diff.
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.
Dependabot was opening about three pull requests every week: the npm
productionanddevelopmentgroups, plus one per GitHub Action since that ecosystem had nogroupsblock at all.Dependabot
npm-patch/npm-risky), so patches can flow unattended while minors and majors are held for review ahead of a release tag.github-actionsecosystem, which was ungrouped and drip-fed one PR per action.dockerecosystem, missing entirely, which left thenode:22-bookworm-slimbase image unwatched.applies-to: version-updates, so a single advisory touching several packages still opened one PR per package, bypassing both the schedule and the open PR limit. Each ecosystem now carries a mirroredsecurity-updatesgroup.commit-message.prefix, which Dependabot had been inferring from history (22build(deps)vs 8chore(deps)).Net effect: roughly 3 PRs per week down to 3 per month, and a multi-package advisory now lands as one PR instead of N.
Auto-merge
dependabot-automerge.ymlenables auto-merge on patch bumps only. Two independent gates guard it: the cooldown means the release is at least 7 days old, and--autoholds the merge until the requiredcicheck passes. That check aggregatesquality,test,build,integrationande2e.Requires
allow_auto_mergeto be enabled on the repository, otherwise the merge step fails.CI on develop
The four workflows were scoped to
branches: [main], sodevelophad no CI coverage at all and every regression was deferred to a 60 commit promotion diff. They now run ondeveloptoo.Since
pull_requestworkflows execute from the version of the file carried by the PR, this PR exercises its own new triggers.Expect legitimate failures: this is the first time the suite runs against
developcode.