Skip to content

PP-7685 Update Dependabot configuration#762

Merged
AgaDufrat merged 7 commits intomainfrom
configure-dependabot
Apr 17, 2026
Merged

PP-7685 Update Dependabot configuration#762
AgaDufrat merged 7 commits intomainfrom
configure-dependabot

Conversation

@AgaDufrat
Copy link
Copy Markdown
Contributor

This PR refines Dependabot configuration to reduce noise and improve update safety. It adds Docker support (while ignoring Ruby, which must be upgraded manually), introduces cooldown periods to avoid unstable releases, groups related Bundler updates and switches to a weekly Tuesday 7:00 UTC schedule.

It also increases the open PR limit to 25 to support batching, and restricts updates to direct dependencies only for more relevant, manageable changes.

Security updates remain unaffected and continue to be raised immediately.

Adds Docker ecosystem support to Dependabot with a weekly schedule, while
explicitly ignoring Ruby updates since it must be upgraded manually in multiple
places. This avoids redundant or misleading pull requests and helps prevent
accidental attempts to upgrade Ruby via Dependabot.

Added for consistency with other apps, however this config is redundant at the
moment. There’re no reference to Node version in the app code and CI uses
latest LTS (Long-Term Support) version:
https://github.com/alphagov/govuk-infrastructure/blob/060035dcac31d40036e0ec68773ea7dc95cb7bb4/.github/actions/setup-node/action.yml#L9
This gives the community time to flag compromised or broken releases before
updates are applied, helping us avoid pulling in unstable or unsafe
dependencies.  Sets the values according to GOV.UK Developer docs
recommendations: 
- 3 days for programming language dependencies
- 7 days for infrastructure tooling (Terraform, Docker), as these changes tend
  to carry more risk.

https://docs.github.com/en/code-security/reference/supply-chain-security/dependabot-options-reference#cooldown-
Groups Bundler updates to reduce noise and make reviews more focused by
batching related dependencies together. Test libraries (e.g. RSpec, SimpleCov)
and linting tools (e.g. RuboCop) are grouped so they can be reviewed and
updated in context. This approach helps streamline pull requests, making them
less disruptive to the team’s delivery work.

https://docs.github.com/en/code-security/reference/supply-chain-security/dependabot-options-reference#groups--
We increase the Dependabot open PR limit to 25 to accommodate our weekly
schedule and grouped updates, ensuring multiple batches can be raised and
reviewed without being artificially capped. This helps avoid delays while still
keeping changes manageable alongside the cooldown and grouping strategy.

Note that security updates are unaffected by this setting, as they have a
separate internal limit of ten open pull requests which cannot be changed.

https://docs.github.com/en/code-security/reference/supply-chain-security/dependabot-options-reference#open-pull-requests-limit-
Configure Dependabot to only open pull requests for direct dependencies,
reducing noise from transitive updates and keeping changes more relevant and
easier to review.

https://docs.github.com/en/code-security/reference/supply-chain-security/dependabot-options-reference#dependency-type-allow
We schedule updates weekly on Tuesdays at 7:00am UTC to balance staying current
with a manageable review workload. A monthly cadence would be too infrequent
for a single person on the daily rota, and Tuesdays avoid common non-working
days (Mondays and Fridays at the time).

The `timezone` is not set, so it defaults to UTC, and the time is chosen to run
before the automatic dependency merger (currently 08:30 UTC)[^1]. However, with
the current scheduling and grouping of updates, we may not benefit from the
auto merger that much.

Security updates are still raised immediately regardless of schedule.

[^1]: https://github.com/alphagov/govuk-dependabot-merger/blob/main/.github/workflows/merge-dependabot-prs.yml#L5

https://docs.github.com/en/code-security/reference/supply-chain-security/dependabot-options-reference#schedule-
It's not currently used.
For consistency with other repos.
@AgaDufrat AgaDufrat force-pushed the configure-dependabot branch from 6f8bf2a to 6957fc3 Compare April 16, 2026 15:49
@AgaDufrat AgaDufrat merged commit 24217ad into main Apr 17, 2026
8 checks passed
@AgaDufrat AgaDufrat deleted the configure-dependabot branch April 17, 2026 08:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants