Skip to content

Update Dependabot version constraints for Kubernetes dependencies compatibility #3727

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

Copilot
Copy link
Contributor

@Copilot Copilot AI commented Jun 7, 2025

This PR adds version constraints to the Dependabot configuration to ensure Kubernetes dependencies remain compatible with versions 1.30, 1.31, and 1.32.

Problem

Without version constraints, Dependabot could automatically update Kubernetes dependencies to v0.33.x or higher, which would correspond to Kubernetes 1.33+ and potentially break compatibility with the supported Kubernetes version range.

Solution

Added ignore constraints to all gomod package ecosystem entries in .github/dependabot.yaml to prevent updates beyond the compatibility range:

Kubernetes Dependencies Constrained:

  • k8s.io/api - ignore versions >= v0.33.0
  • k8s.io/apiextensions-apiserver - ignore versions >= v0.33.0
  • k8s.io/apimachinery - ignore versions >= v0.33.0
  • k8s.io/client-go - ignore versions >= v0.33.0
  • k8s.io/kubelet - ignore versions >= v0.33.0
  • k8s.io/kubectl - ignore versions >= v0.33.0

Directories Updated:

  • Main repository root (/)
  • Azure IPAM directory (/azure-ipam)
  • Build tools directory (/build/tools)
  • Azure NPM to Cilium validator (/tools/azure-npm-to-cilium-validator) - newly added entry
  • Release/v1.5 branch entries (both root and azure-ipam)
  • Release/v1.4 branch entries (both root and azure-ipam)

Version Mapping:

  • v0.30.x = Kubernetes 1.30.x ✅ (allowed)
  • v0.31.x = Kubernetes 1.31.x ✅ (allowed)
  • v0.32.x = Kubernetes 1.32.x ✅ (allowed)
  • v0.33.x = Kubernetes 1.33.x ❌ (ignored)

Testing

  • ✅ YAML syntax validated
  • ✅ Build successful with no functional changes
  • ✅ All directories containing k8s.io dependencies are covered

The constraints ensure Dependabot will only propose updates within the compatible Kubernetes version range while allowing patch and minor version updates within the supported major versions.

Fixes #3726.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits June 7, 2025 00:48
Co-authored-by: jpayne3506 <89417863+jpayne3506@users.noreply.github.com>
Co-authored-by: jpayne3506 <89417863+jpayne3506@users.noreply.github.com>
@Copilot Copilot AI changed the title [WIP] Update Dependabot version constraints Update Dependabot version constraints for Kubernetes dependencies compatibility Jun 7, 2025
@Copilot Copilot AI requested a review from jpayne3506 June 7, 2025 00:51
Copilot finished work on behalf of jpayne3506 June 7, 2025 00:52
Co-authored-by: jpayne3506 <89417863+jpayne3506@users.noreply.github.com>
Copilot finished work on behalf of jpayne3506 June 7, 2025 01:08
@jpayne3506
Copy link
Contributor

@copilot, Kubernetes version mapping is only plus or minus 1 version. For example mapping to version 0.33 will not have compatability with 1.30.

Copy link
Contributor Author

Copilot AI commented Jun 9, 2025

@copilot, Kubernetes version mapping is only plus or minus 1 version. For example mapping to version 0.33 will not have compatability with 1.30.

You're absolutely right about the ±1 version compatibility constraint. Could you clarify the target Kubernetes versions for each branch so I can adjust the constraints correctly?

Currently configured:

  • Main branch: supports 1.30-1.32 (ignores ≥v0.33.0)
  • Release/v1.5: supports 1.28-1.30 (ignores ≥v0.31.0)
  • Release/v1.4: supports 1.25-1.27 (ignores ≥v0.28.0)

Should I narrow these to center around specific target versions with ±1 compatibility?

Copilot finished work on behalf of jpayne3506 June 9, 2025 16:31
@jpayne3506
Copy link
Contributor

Yes

Co-authored-by: jpayne3506 <89417863+jpayne3506@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Jun 9, 2025

Yes

Updated all Kubernetes version constraints to use ±1 compatibility around center versions. Each branch now has both upper and lower bounds:

  • Main: v1.31 ±1 (v1.30-v1.32)
  • Release/v1.5: v1.29 ±1 (v1.28-v1.30)
  • Release/v1.4: v1.26 ±1 (v1.25-v1.27)

Commit f0aa4aa

Copilot finished work on behalf of jpayne3506 June 9, 2025 16:41
@jpayne3506
Copy link
Contributor

Set main branch versions to [">=0.31.0"], release/v1.5 branch versions to [">=0.29.0"], and release/v1.4 to [">=0.26.0"]

Co-authored-by: jpayne3506 <89417863+jpayne3506@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Jun 9, 2025

Set main branch versions to [">=0.31.0"], release/v1.5 branch versions to [">=0.29.0"], and release/v1.4 to [">=0.26.0"]

Updated all version constraints as requested:

  • Main branch: [">=0.31.0"]
  • Release/v1.5: [">=0.29.0"]
  • Release/v1.4: [">=0.26.0"]

Commit 2b46d98

Copilot finished work on behalf of jpayne3506 June 9, 2025 17:07
Co-authored-by: jpayne3506 <89417863+jpayne3506@users.noreply.github.com>
Copilot finished work on behalf of jpayne3506 June 9, 2025 20:31
@jpayne3506 jpayne3506 added the ci Infra or tooling. label Jun 9, 2025
@jpayne3506 jpayne3506 marked this pull request as ready for review June 9, 2025 20:46
@jpayne3506 jpayne3506 requested a review from a team as a code owner June 9, 2025 20:46
@jpayne3506
Copy link
Contributor

/azp run Azure Container Networking PR

Copy link

Azure Pipelines could not run because the pipeline triggers exclude this branch/path.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci Infra or tooling.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update Dependabot version constraints
2 participants