Repository navigation
ci: Dependabot watches Python dependencies, not only GitHub Actions - #1652
Conversation
Adds a pip entry for pyproject.toml alongside the github-actions one. increase-if-necessary keeps minimum-version requirements unchanged when they already admit a new release; security updates are grouped.
MilagrosMarin
left a comment
There was a problem hiding this comment.
Thanks @dimitri-yatsenko, this looks good, and increase-if-necessary is the right strategy for a library.
One thing to handle before merging:
-
deepdiff cap:
pyproject.tomldeliberately keepsdeepdiff<9; python_version >= '3.15'(cachebox has no 3.15 wheels). Withincrease-if-necessary, Dependabot widens upper bounds to admit new majors, so I'd expect a weekly PR bumping it to<10. Suggest ignoring that:ignore: - dependency-name: "deepdiff" update-types: ["version-update:semver-major"]
Minor:
- Version updates aren't grouped (only
applies-to: security-updatesis), so the remaining<caps, extras and thetestdependency group will arrive as one PR per package. Fine if that's intended. - Small wording note for the description: security alerts and fixes come from the dependency graph and the repo setting rather than this file, so the new entry mainly adds version updates and groups the security PRs.
Confirmed it merges cleanly with #1651 in either order. Let me know what you think!
pyproject.toml keeps deepdiff<9 for Python 3.15 on purpose: deepdiff 9 requires cachebox<6, which has no 3.15 wheels. With increase-if-necessary, Dependabot would propose widening that cap at every new deepdiff major, so ignore semver-major updates for deepdiff. Also state that version updates stay one PR per package, since each raises an upper bound and deserves its own test run and review.
|
Thanks @MilagrosMarin.
|
MilagrosMarin
left a comment
There was a problem hiding this comment.
Thanks @dimitri-yatsenko, all addressed in 550bd8f:
✅ deepdiff majors ignored, with the pointer to the 3.15 cap in pyproject.toml
✅ One PR per package for version updates makes sense with increase-if-necessary, and the comment explains it
✅ Description now separates the dependency graph and repo setting from what this file adds
The failing .github/dependabot.yml check should clear once #1651 merges (time: "9:00" on master). LGTM!
Dependabot rejects time "9:00" (must match ^\d\d:\d\d$), so the config failed to parse and no GitHub Actions updates were scheduled. (cherry picked from commit 247125c)
|
The failing @MilagrosMarin, could you take another look? The only change since your approval is this one line. |
MilagrosMarin
left a comment
There was a problem hiding this comment.
Thanks @dimitri-yatsenko! Re-reviewed c9e65d9:
✅ Only change since my last review is time: "9:00" → "09:00" in the github-actions entry
✅ .github/dependabot.yml check now passes
✅ Identical to the #1651 fix, so the two merge cleanly in either order
LGTM!
Summary
.github/dependabot.ymlcovers only thegithub-actionsecosystem, so Dependabot never proposes version updates for the Python dependencies inpyproject.toml. This adds apipentry.versioning-strategy: increase-if-necessary: datajoint is a library, and its requirements are minimum versions (>=). A requirement that already admits a new release is left alone, so routine releases of numpy, pandas, etc. do not raise datajoint's minimums. In practice, version-update PRs appear only when an upper bound (<) excludes a new release.deepdiff<9; python_version >= '3.15'is deliberate (deepdiff 9 requires cachebox<6, which has no 3.15 wheels), so Dependabot does not propose widening it.applies-to: security-updates). The alerts and security updates themselves come from the dependency graph and the repository's Dependabot security-updates setting, not from this file; this entry only groups the resulting PRs.Related
timevalue in the existinggithub-actionsentry. Until it merges, Dependabot cannot parse this file at all. The two PRs touch different lines and merge in either order.pixi.lockis not scanned.