Skip to content

Minimum Go version in go.mod forces importers to build with that minimum toolchain #130799

@samuelkarp

Description

@samuelkarp

The go line in the go.mod describes the minimal Go version used to build a module, and also controls Go runtime behavior when that behavior changes across Go versions. 88300c4 moved Kubernetes to Go 1.24.0, and subsequently requires any importer consuming modules from Kubernetes to also upgrade to Go 1.24.0.

This is problematic for containerd. containerd imports several modules as part of our CRI integration, including the CRI API itself, management code for CRI implementations, and modules use to test CRI. containerd's development branch (main) and our planned 2.1 release currently have a minimum of Go 1.23. We do not plan to update to 1.24 as part of the containerd 2.1 release cycle (planned for early May), so this means any further changes to CRI or supporting libraries will not be able to be included in containerd 2.1 and would instead need to wait for 2.2 (planned for early November).

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/code-organizationIssues or PRs related to kubernetes code organizationneeds-triageIndicates an issue or PR lacks a `triage/foo` label and requires one.sig/architectureCategorizes an issue or PR as relevant to SIG Architecture.sig/releaseCategorizes an issue or PR as relevant to SIG Release.

    Type

    No type

    Projects

    Status

    Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions