Skip to content

Upgrade Go to 1.26, Kubernetes to 1.36, kstatus to 1.1#32078

Merged
TerryHowe merged 1 commit into
helm:mainfrom
matheuscscp:go-1.26-k8s-1.36-cli-utils-1.1
Apr 26, 2026
Merged

Upgrade Go to 1.26, Kubernetes to 1.36, kstatus to 1.1#32078
TerryHowe merged 1 commit into
helm:mainfrom
matheuscscp:go-1.26-k8s-1.36-cli-utils-1.1

Conversation

@matheuscscp

@matheuscscp matheuscscp commented Apr 25, 2026

Copy link
Copy Markdown
Contributor

There's a few breaking changes that Dependabot cannot help with.

Copilot AI review requested due to automatic review settings April 25, 2026 14:14
@pull-request-size pull-request-size Bot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Apr 25, 2026
@pull-request-size pull-request-size Bot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Apr 25, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates the project’s Go toolchain baseline and refreshes Kubernetes-related (and other) module dependencies to newer versions.

Changes:

  • Bump go directive to Go 1.26.0.
  • Upgrade Kubernetes-related Go modules to v0.36.0 (partial) and refresh other dependency versions (e.g., fluxcd/cli-utils, go-restful, zap).
  • Update go.sum to match the new resolved dependency graph.

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 2 comments.

File Description
go.mod Updates Go version and bumps multiple direct/indirect dependencies, including Kubernetes libraries.
go.sum Reflects the new module versions and checksum set after dependency upgrades.

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

Comment thread go.mod
Comment thread go.mod Outdated
@matheuscscp matheuscscp force-pushed the go-1.26-k8s-1.36-cli-utils-1.1 branch from 1199d04 to e85b6b2 Compare April 25, 2026 14:19
Copilot AI review requested due to automatic review settings April 25, 2026 14:22
@matheuscscp matheuscscp force-pushed the go-1.26-k8s-1.36-cli-utils-1.1 branch from e85b6b2 to 23a8b79 Compare April 25, 2026 14:22

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates the repository’s Go toolchain and Kubernetes dependency set to newer minor versions, aligning CI configuration with the module’s required Go version.

Changes:

  • Bump go directive to Go 1.26.0 and update CI Go version to 1.26.
  • Upgrade Kubernetes libraries from k8s.io/* v0.35.4 to v0.36.0 (and related transitive deps).
  • Refresh module sums for the updated dependency graph.

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated no comments.

File Description
go.mod Bumps Go version and upgrades Kubernetes + a few related dependencies.
go.sum Updates checksums to match the new resolved module graph.
.github/env Updates CI environment Go version to 1.26.

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

@matheuscscp matheuscscp force-pushed the go-1.26-k8s-1.36-cli-utils-1.1 branch from 23a8b79 to fc1674e Compare April 25, 2026 15:20
Copilot AI review requested due to automatic review settings April 25, 2026 16:02
@matheuscscp matheuscscp force-pushed the go-1.26-k8s-1.36-cli-utils-1.1 branch from fc1674e to f163ba5 Compare April 25, 2026 16:02

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates the project toolchain and Kubernetes-related dependencies to newer major/minor versions, and adjusts lint/test fixtures to match the updated Kubernetes deprecation detection behavior.

Changes:

  • Bump Go toolchain requirement to 1.26 and update CI Go version accordingly.
  • Upgrade Kubernetes libraries to v0.36.0 (Kubernetes 1.36) and adjust linting name-validation import usage.
  • Refresh lint deprecation test chart/fixtures and stabilize a kube client test assertion.

Reviewed changes

Copilot reviewed 10 out of 11 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pkg/kube/client_test.go Normalizes PodList.ResourceVersion in TestGetPodList to keep assertions stable with newer client-go behavior.
pkg/cmd/testdata/testcharts/chart-with-deprecated-api/templates/poddisruptionbudget.yaml Adds a chart template using a deprecated API version to exercise deprecation linting.
pkg/cmd/testdata/testcharts/chart-with-deprecated-api/templates/horizontalpodautoscaler.yaml Removes the previous deprecated HPA fixture.
pkg/cmd/testdata/output/lint-chart-with-deprecated-api.txt Updates golden output to match the new deprecated API fixture and warning text.
pkg/cmd/testdata/output/lint-chart-with-deprecated-api-strict.txt Updates strict-mode golden output to match the new deprecated API fixture and warning text.
pkg/cmd/lint_test.go Adjusts kube-version test case to use 1.20.0 so the deprecated API is not flagged for that version.
pkg/chart/v2/lint/rules/template.go Switches RBAC name validation helper from api/validation/path to api/validate/content to match updated k8s/apimachinery.
internal/chart/v3/lint/rules/template.go Same validation helper import/function update for internal v3 chart linter.
go.mod Bumps go directive to 1.26.0 and upgrades k8s modules to v0.36.0 (plus related deps).
go.sum Updates sums for upgraded dependencies.
.github/env Updates CI Go version to 1.26.

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

@gjenkins8 gjenkins8 added the Has One Approval This PR has one approval. It still needs a second approval to be merged. label Apr 26, 2026

@TerryHowe TerryHowe left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

/lgtm

@TerryHowe TerryHowe merged commit fbc2791 into helm:main Apr 26, 2026
6 checks passed
caretak3r added a commit to caretak3r/helm that referenced this pull request Apr 27, 2026
Resolves conflicts introduced by upstream's PostRenderStrategy work
(helm#32049) and Go 1.26 / Kubernetes 1.36 / kstatus 1.1 bump (helm#32078)
against the HIP-0025 sequencing changes.

Conflict resolution:
- pkg/action/action.go: combined upstream's three-way post-render
  strategy switch with the renderResources/renderResourcesWithFiles
  split from this branch; all error returns from
  renderResourcesWithFiles updated to the 5-tuple shape.
- pkg/action/install.go: thread PostRenderStrategy through both the
  ordered-wait (renderResourcesWithFiles) and standard
  (renderResources) render paths.
- pkg/action/upgrade.go: same thread-through, plus restore the
  5-tuple cerr return.
- pkg/action/uninstall.go: pass PostRenderStrategyCombined to the
  recovery path that re-renders manifests for sequenced uninstall.

Also:
- gofmt fixes for pkg/kube/readiness.go (strconv import indent;
  flagged by Copilot review) and pkg/action/rollback.go (struct
  field alignment).
- Add post-rewrite contract tests for BuildSubchartDAG covering
  metadata-only-with-no-loaded-deps and annotation-references-
  unloaded-dep cases (locks in joejulian's review feedback).
- .gitignore: ignore .mission/ tooling directory.
gjenkins8 pushed a commit that referenced this pull request May 14, 2026
Helm now requires Go 1.26 (#32078); the cloner[T] type-assertion fallback
in transport.go was a defensive shim for Go versions before
http.Transport.Clone() existed. The fallback path is unreachable on
supported Go versions.

Refs: #31386
Signed-off-by: Ogulcan Aydogan <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Has One Approval This PR has one approval. It still needs a second approval to be merged. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants