Skip to content

Add Dependabot configuration for pip and GitHub Actions - #769

Open
hakonhagland wants to merge 1 commit into
OPM:mainfrom
hakonhagland:add_dependabot_config
Open

Add Dependabot configuration for pip and GitHub Actions#769
hakonhagland wants to merge 1 commit into
OPM:mainfrom
hakonhagland:add_dependabot_config

Conversation

@hakonhagland

Copy link
Copy Markdown
Collaborator

Follow-up to #767 and #768. Those two PRs cleared 29 open Dependabot alerts; this one is about not getting into that situation again.

The repository has no .github/dependabot.yml, which means GitHub only ever raises security alerts — it never opens routine version-update pull requests. Nothing has been nudging the dependencies forward between advisories, so both lock files drifted badly: scripts/python was still on requests 2.31.0 with three stacked advisories, and docker was carrying a certifi CA bundle from 2023 and a requests advisory from 2024.

What the config does

Three entries, because Dependabot takes one manifest directory per entry — the two Poetry projects cannot share one:

  • pip, rooted at /scripts/python — the fodt package.
  • pip, rooted at /docker — the lodocker package.
  • github-actions, rooted at / — the workflow action pins. Dependabot can only bump actions referenced by a version tag, and every action used here qualifies: actions/checkout, actions/setup-python and abatilo/actions-poetry.

All three use a monthly schedule with a single catch-all group, so each ecosystem produces at most one pull request per month. Grouping is the important part: ungrouped, GitPython alone went through eight patch releases in the three weeks from 2026-07-21 to 2026-08-07, and each would have arrived as a separate pull request.

This affects scheduled version updates only. Security updates are unchanged — they are still opened immediately and individually whenever an advisory is published, regardless of the schedule here.

What to expect after merging

  • The first github-actions PR should bring the pins up to date. Both workflows are on actions/checkout@v3 and actions/setup-python@v4 (v4 and v5 are current), and ci.yml uses abatilo/actions-poetry@v2 while check_keyword_linking.yml is already on @v3 — worth reviewing together rather than one at a time. Note that check_keyword_linking.yml pins poetry-version: "1.8.4" with a comment that "latest" did not work, so that pin should be left alone unless it is retested deliberately.
  • The first pip PRs will be larger than a routine month, since they will carry everything that has accumulated beyond the security fixes just merged.

Without a .github/dependabot.yml GitHub only raises security alerts; it
never opens version-update pull requests. That is why both Poetry lock
files were able to drift years behind upstream, leaving 29 open alerts to
be cleared in PRs OPM#767 and OPM#768 - some of them, such as the requests and
certifi advisories, dating back to 2024.

Three entries are needed. Dependabot takes one manifest directory per
entry, so the two Poetry projects cannot share one:
- pip, rooted at /scripts/python, for the fodt package
- pip, rooted at /docker, for the lodocker package
- github-actions, rooted at /, for the workflow action pins. Every action
  used by the two workflows is referenced by a version tag, so all of them
  are covered: actions/checkout, actions/setup-python and
  abatilo/actions-poetry.

All three use a monthly schedule with every package in a single group, so
each ecosystem produces at most one pull request per month. Ungrouped
updates would be unmanageable: GitPython alone went through eight patch
releases in the three weeks from 2026-07-21 to 2026-08-07. Security updates
are unaffected and are still opened immediately when an advisory is
published.

Note that docker2/ is not covered. It holds a third Poetry project with an
even older lock file, but it is untracked, so it does not exist on GitHub
and Dependabot cannot see it.
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.

1 participant