Skip to content

chore(deps): ignore Django major updates in the python group#3206

Merged
vpetersson merged 1 commit into
masterfrom
chore/dependabot-ignore-django-major
Jul 16, 2026
Merged

chore(deps): ignore Django major updates in the python group#3206
vpetersson merged 1 commit into
masterfrom
chore/dependabot-ignore-django-major

Conversation

@vpetersson

Copy link
Copy Markdown
Contributor

Keeps Django major version bumps out of the grouped Python Dependabot PR. A Django major is a deliberate migration, not something that should ride in on a routine grouped bump alongside patch-level tooling updates.

Minor and patch updates still flow through, so the 5.2.x line keeps getting security and bug fixes.

Scope

The rule is an exact, case-insensitive name match on Djangonot a django* wildcard, which would have swept up five unrelated packages. Verified by simulating dependabot-core's own wildcard_match? logic (it lowercases both sides, so Django and django both match):

Candidate Ignored
django / Django yes
django-stubs no
django-stubs-ext no
django-dbbackup no
djangorestframework no
djangorestframework-stubs no

ignore sits at the ecosystem level rather than inside groups: — there is no per-group ignore. A group's exclude-patterns would only split Django into its own PR, not suppress the major.

Why this is worth having

Django 6.0.7 is out while the repo pins 5.2.14. I confirmed 6.0.7 resolves cleanly against every current pin (uv lock --dry-run with the pin swapped: Resolved 125 packages, django v5.2.14 -> v6.0.7), and nothing in the tree caps Django below 6 — djangorestframework needs >=4.2, drf-spectacular needs >=2.2. So nothing would stop Dependabot proposing the major on a future run.

Worth noting for context: the first grouped Python run (#3205) did not include Django, so this is a forward-looking guard rather than a fix for something already broken.

Validation

Nothing in CI validates this file — actionlint only covers .github/workflows/, so a malformed config fails silently rather than turning a check red. Verified manually:

  • Validates against the official schemastore dependabot-2.0 schema.
  • update-types: ["version-update:semver-major"] matches the documented enum.
  • Ignore matching simulated against dependabot-core's wildcard_match? (table above).

🤖 Generated with Claude Code

A Django major is a deliberate migration, not something that should ride
in on a routine grouped bump alongside patch-level tooling updates.
Django 6.0.7 is out and resolves cleanly against the current pins, so
nothing would otherwise stop Dependabot proposing it.

Minor and patch updates still come through, so the 5.2.x line keeps
getting security and bug fixes. The rule is an exact, case-insensitive
name match, so django-stubs, django-stubs-ext, django-dbbackup and
djangorestframework are unaffected.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vpetersson
vpetersson requested a review from a team as a code owner July 16, 2026 14:26
@vpetersson
vpetersson requested a review from Copilot July 16, 2026 14:26
@sonarqubecloud

Copy link
Copy Markdown

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adjusts Dependabot configuration to keep Django major upgrades out of the routine grouped Python dependency update flow, so deliberate framework migrations don’t get bundled with normal tooling bumps while still allowing minor/patch updates for ongoing fixes.

Changes:

  • Adds a Dependabot ignore rule for Django limited to version-update:semver-major within the uv ecosystem updates.
  • Documents the intent and matching behavior directly in .github/dependabot.yml.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@vpetersson
vpetersson merged commit 5bc40e0 into master Jul 16, 2026
6 checks passed
@vpetersson
vpetersson deleted the chore/dependabot-ignore-django-major branch July 16, 2026 14:27
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