Skip to content

chore(deps): full dependency round — Go 1.27.3, golangci-lint 2.15, Argo CD 3.5.5 - #435

Merged
sunib merged 3 commits into
mainfrom
chore/deps-update
Oct 23, 2026
Merged

sunib merged 3 commits into
mainfrom
chore/deps-update

Conversation

@sunib

@sunib sunib commented Oct 22, 2026

Copy link
Copy Markdown
Contributor

A full dependency round across every pinned surface: Go modules (both), base images, GitHub Actions, devcontainer tooling, and the e2e cluster charts. Supersedes #434, which fails to compile.

What moves

Go modules: fluxcd/pkg/apis/meta v1.37.0, prometheus client_golang v1.25.0 / common v0.72.1, go-redis v9.23.0, miniredis v2.40.0, ginkgo v2.33.1, x/crypto v0.58.0, x/net v0.61.0, x/tools v0.51.0. hack/sops-build takes the same x/crypto and x/net.

Images: golang 1.27.3 for the project, the devcontainer and the mutation lab, plus the current distroless static:debug digest.

Devcontainer tools: golangci-lint v2.15.0, controller-gen v0.23.0, kustomize 5.8.3, helm v4.3.1, cosign v3.1.4, oras 1.3.5, trivy 0.76.1, markdownlint-cli2 0.24.0, tilt v0.37.8, gopls v0.24.0, staticcheck v0.8.2, and the common-utils feature 2.7.1. ginkgo and goimports move to match go.mod.

Actions: download-artifact v8.0.2, upload-artifact v7.0.2, setup-buildx v4.4.1, codeql-action v4.39.1, scorecard-action v2.5.0, and cosign-installer's cosign-release v3.1.4.

e2e cluster: cert-manager v1.21.2 (also the quickstart URL), valkey chart 0.12.0, kcp-operator 0.7.10, reflector 10.0.65, prometheus-operator CRDs v0.94.1, and the Argo CD chart 10.10.5 (v3.4.5 → v3.5.5).

Things held back or needing a code change

  • kustomize api/kyaml stay at v0.21.2. v0.21.3 needs a kube-openapi built against structured-merge-diff v7 (the Kubernetes 1.38 line), and k8s.io/apimachinery v0.37.1 doesn't compile against it. This is why chore(deps): Bump the "all-dependencies" group with 4 updates across multiple ecosystems #434 is red. It can move together with the 1.38 libraries.
  • The go directive stays at 1.27.1. It's only a minimum. The 1.27.3 fixes reach users through the images. Raising it would break every devcontainer that hasn't been rebuilt, because GOTOOLCHAIN is local.
  • client_golang 1.25 adds an Infos return value to v1.API.Query, so the e2e Prometheus helper now takes four values.
  • golangci-lint 2.15 ships exhaustive 0.14, which stopped exempting empty map literals from the map-literal check. The accumulator maps keyed by an enum are now built with make(). predeclared 0.3 also flagged a loop variable named append, which is renamed.
  • controller-gen v0.23.0 only changes the version annotation on the CRDs.
  • The docker-build composite action had drifted behind the workflows (setup-buildx v4.2.0, login v4.3.0, build-push v7.3.0). Dependabot's / entry doesn't reach it. It now uses the same pins as the workflows.

Argo CD 3.5.5

The redis image is re-pinned to the chart's 8.6.4-alpine through mirror.gcr.io, by digest. The four upstream facts the setup README asks you to re-check on a bump all still hold at v3.5.5:

  • An unset resourceTrackingMethod still means annotation.
  • The tracking-id key is unchanged.
  • The tracking-id value format is unchanged.
  • The repo-server still stamps the tracking-id on every non-CRD target.

The chart still leaves the tracking method and server-side apply unset. Its ServerSideApply annotation applies only to CRDs, the same as in 10.1.3.

Validation

task lint (with golangci-lint v2.15.0 and controller-gen v0.23.0) and task test pass locally. e2e is left to CI.

🤖 Generated with Claude Code

sunib and others added 3 commits October 22, 2026 18:40
- github.com/fluxcd/pkg/apis/meta v1.32.0 -> v1.37.0
- github.com/prometheus/client_golang v1.24.1 -> v1.25.0, common v0.72.1
- github.com/redis/go-redis/v9 v9.22.0 -> v9.23.0
- github.com/alicebob/miniredis/v2 v2.39.0 -> v2.40.0
- github.com/onsi/ginkgo/v2 v2.33.0 -> v2.33.1
- golang.org/x/crypto v0.58.0, x/net v0.61.0, x/tools v0.51.0 (both modules)

client_golang 1.25 adds an Infos return to the v1 API's Query, so the e2e
Prometheus helper takes four values.

kustomize api/kyaml stay at v0.21.2: v0.21.3 requires a kube-openapi built
against structured-merge-diff v7, the Kubernetes 1.38 line, which
k8s.io/apimachinery v0.37.1 does not compile against. It can move with the
1.38 libraries.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…r tooling

Images: golang 1.27.3 (project, devcontainer, mutation lab) and the current
distroless static:debug digest. The go.mod directive stays at 1.27.1: it is a
minimum, and raising it would break every devcontainer not yet rebuilt, since
GOTOOLCHAIN is local.

Devcontainer tools: golangci-lint v2.15.0, controller-gen v0.23.0, kustomize
5.8.3, helm v4.3.1, cosign v3.1.4 (and the release.yml installer input),
oras 1.3.5, trivy 0.76.1, markdownlint-cli2 0.24.0, tilt v0.37.8, gopls
v0.24.0, staticcheck v0.8.2, the common-utils feature 2.7.1, and ginkgo and
goimports to match go.mod (lint-toolchain-pins). controller-gen v0.23.0 only
moves the version annotation on the CRDs.

Actions: download-artifact v8.0.2, upload-artifact v7.0.2, setup-buildx
v4.4.1, codeql-action v4.39.1, scorecard-action v2.5.0. The docker-build
composite action had drifted behind the workflows (setup-buildx v4.2.0,
login v4.3.0, build-push v7.3.0) and now uses the same pins.

golangci-lint 2.15 ships exhaustive 0.14, which no longer exempts empty map
literals from the map-literal check. The accumulator maps keyed by an enum
are now built with make(), which is what they are. predeclared 0.3 also
catches a loop variable named append.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- cert-manager v1.21.0 -> v1.21.2 (e2e HelmRelease and the quickstart URL)
- valkey chart 0.10.0 -> 0.12.0 (additive values only)
- kcp-operator 0.7.7 -> 0.7.10, reflector 10.0.21 -> 10.0.65
- prometheus-operator CRDs v0.89.0 -> v0.94.1
- Argo CD chart 10.1.3 -> 10.10.5 (v3.4.5 -> v3.5.5), with the mirrored
  redis re-pinned to the chart's 8.6.4-alpine by digest

The four Argo CD facts the setup README asks to re-verify on a bump hold at
v3.5.5: an unset resourceTrackingMethod is still annotation, the tracking-id
key and value format are unchanged, and the repo-server still sets it on
every non-CRD target. The chart still leaves the tracking method and
server-side apply unset (its ServerSideApply annotation is on CRDs only, as
in 10.1.3).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 22, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 4 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 078ae9e4-a2c4-416c-b057-2f16578313cd
📥 Commits

Reviewing files that changed from the base of the PR and between 6ae6272 and 25b796a.

⛔ Files ignored due to path filters: 2
  • go.sum is excluded by !**/*.sum
  • hack/sops-build/go.sum is excluded by !**/*.sum
📒 Files selected for processing: 37
  • .devcontainer/Dockerfile
  • .devcontainer/devcontainer.json
  • .github/actions/docker-build/action.yml
  • .github/workflows/ci.yml
  • .github/workflows/release.yml
  • .github/workflows/scorecard.yml
  • Dockerfile
  • config/crd/bases/configbutler.ai_argocdtriggers.yaml
  • config/crd/bases/configbutler.ai_clusterwatchrules.yaml
  • config/crd/bases/configbutler.ai_commitrequests.yaml
  • config/crd/bases/configbutler.ai_fluxtriggers.yaml
  • config/crd/bases/configbutler.ai_gitbranches.yaml
  • config/crd/bases/configbutler.ai_gitproviders.yaml
  • config/crd/bases/configbutler.ai_gitreceivers.yaml
  • config/crd/bases/configbutler.ai_gittargets.yaml
  • config/crd/bases/configbutler.ai_kubeproviders.yaml
  • config/crd/bases/configbutler.ai_watchrules.yaml
  • docs/quickstart.md
  • docs/spec/e2e-bi-directional-corner.md
  • go.mod
  • hack/sops-build/go.mod
  • internal/git/git_request_ledger_test.go
  • internal/git/refresh.go
  • internal/git/refusal_reapply_test.go
  • internal/manifestanalyzer/analyzer.go
  • internal/manifestanalyzer/scan_repo.go
  • internal/webhook/audit_fact_publish_test.go
  • test/e2e/Taskfile-e2e.yml
  • test/e2e/helpers.go
  • test/e2e/setup/argocd/README.md
  • test/e2e/setup/argocd/values.yaml
  • test/e2e/setup/flux/releases/cert-manager.yaml
  • test/e2e/setup/flux/releases/reflector.yaml
  • test/e2e/setup/flux/releases/valkey.yaml
  • test/e2e/setup/flux/repositories/prometheus-operator.yaml
  • test/e2e/setup/kcp/base/kcp-operator.yaml
  • test/mutationlab/Dockerfile
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Oct 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@sunib
sunib merged commit 8f03fb9 into main Oct 23, 2026
21 checks passed
@sunib
sunib deleted the chore/deps-update branch October 23, 2026 06:48
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.

1 participant