Skip to content

🚨 Update go modules (main) (major) - #3287

Open
red-hat-konflux[bot] wants to merge 1 commit into
mainfrom
konflux/mintmaker/main-main/major-go-modules
Open

🚨 Update go modules (main) (major)#3287
red-hat-konflux[bot] wants to merge 1 commit into
mainfrom
konflux/mintmaker/main-main/major-go-modules

Conversation

@red-hat-konflux

@red-hat-konflux red-hat-konflux Bot commented May 11, 2026

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
dev.gaijin.team/go/exhaustruct/v4 v4.0.0v5.0.3 age confidence
github.com/MakeNowJust/heredoc v1.0.0v2.0.1 age confidence
github.com/alibabacloud-go/cr-20160607 v1.0.1v2.0.0 age confidence
github.com/alibabacloud-go/cr-20181201 v1.0.10v3.2.0 age confidence
github.com/alibabacloud-go/darabonba-openapi v0.2.1v2.2.4 age confidence
github.com/alibabacloud-go/tea-utils v1.4.5v2.0.9 age confidence
github.com/apparentlymart/go-textseg/v15 v15.0.0v17.0.1 age confidence
github.com/bombsimon/wsl/v4 v4.7.0v5.8.0 age confidence
github.com/cenkalti/backoff/v4 v4.3.0v7.0.0 age confidence
github.com/cenkalti/backoff/v5 v5.0.3v7.0.0 age confidence
github.com/charmbracelet/lipgloss v1.1.0v2.0.5 age confidence
github.com/containerd/containerd v1.7.33v2.3.3 age confidence
github.com/cucumber/gherkin/go/v26 v26.2.0v42.0.1 age confidence
github.com/cucumber/messages/go/v21 v21.0.1v34.2.1 age confidence
github.com/denis-tingaikin/go-header v0.5.0v1.0.1 age confidence
github.com/dlclark/regexp2 v1.11.5v2.5.2 age confidence
github.com/gdamore/tcell/v2 v2.9.0v3.4.1 age confidence
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376v2.0.2 age confidence
github.com/go-openapi/jsonpointer v0.23.1v1.0.0 age confidence
github.com/go-openapi/jsonreference v0.21.6v1.0.0 age confidence
github.com/golang-jwt/jwt/v4 v4.5.2v5.3.1 age confidence
github.com/golang/snappy v0.0.4v1.0.0 age confidence
github.com/google/go-github/v73 v73.0.0v90.0.0 age confidence
github.com/hashicorp/go-getter v1.8.6v2.2.3 age confidence
github.com/hashicorp/golang-lru v1.0.2v2.0.7 age confidence
github.com/hashicorp/hcl v1.0.1-vault-7v2.24.0 age confidence
github.com/jstemmer/go-junit-report v1.0.0v2.1.0 age confidence
github.com/lestrrat-go/jwx/v3 v3.0.13v4.2.0 age confidence
github.com/owenrumney/go-sarif/v2 v2.3.3v3.3.1 age confidence
github.com/pelletier/go-toml v1.9.5v2.4.3 age confidence
github.com/ryancurrah/gomodguard v1.4.1v2.1.3 age confidence
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1v6.0.3 age confidence
github.com/shirou/gopsutil/v3 v3.23.12v4.26.7 age confidence
github.com/shirou/gopsutil/v3 v3.24.5v4.26.7 age confidence
github.com/sigstore/cosign/v2 v2.6.2v3.1.3 age confidence
github.com/theupdateframework/go-tuf v0.7.0v2.4.2 age confidence
github.com/tjfoc/gmsm v1.4.1v2.0.0 age confidence
gitlab.com/gitlab-org/api/client-go v0.143.3v2.56.0 age confidence
gitlab.com/gitlab-org/api/client-go v1.11.0v2.56.0 age confidence
go.mongodb.org/mongo-driver v1.17.6v2.8.0 age confidence
go.yaml.in/yaml/v2 v2.4.4v3.0.5 age confidence
gomodules.xyz/jsonpatch/v2 v2.5.0v3.0.1 age confidence
gopkg.in/evanphx/json-patch.v4 v4.13.0v5.9.11 age confidence
gopkg.in/go-jose/go-jose.v2 v2.6.3v4.1.4 age confidence
helm.sh/helm/v3 v3.20.2v4.2.3 age confidence

Warning

Some dependencies could not be looked up. Check the warning logs for more information.


Release Notes

GaijinEntertainment/go-exhaustruct (dev.gaijin.team/go/exhaustruct/v4)

v5.0.3

Compare Source

A patch release removing spurious read errors reported for every standard library struct literal. No configuration, flag, or diagnostic changes otherwise.

Fixes
  • No more $GOROOT read errors (#​166). Every run reported one positionless diagnostic per standard library struct literal:

    -: read file (filename=$GOROOT/src/strings/builder.go): open $GOROOT/src/strings/builder.go: no such file or directory
    

    $GOROOT here is not an unexpanded environment variable. It is a literal placeholder the compiler substitutes for the real GOROOT when recording positions of files in the Go distribution (cmd/internal/objabi.AbsFile). Those paths travel in export data, so any driver that type-checks dependencies from export data — singlechecker, go vet -vettool, golangci-lint — saw every standard library type positioned at a path that cannot be opened on any machine. Resolving a struct literal reads the file that declares its type in order to pick up directives, and for standard library types that read always failed.

    Files of the Go distribution are now resolved as directive-free without being read at all, since their sources carry no exhaustruct directives.

    Standard library types are still checked. Fields come from go/types, which this change does not touch — only directive resolution is skipped:

    _ = net.TCPAddr{}         // net.TCPAddr is missing fields IP, Port, Zone
    _ = net.TCPAddr{IP: nil}  // net.TCPAddr is missing fields Port, Zone

    A run over a package using standard library types produces an identical set of findings before and after, minus the read errors.

Internal
  • Regression coverage at analyzer level loads its fixture from export data, reproducing the $GOROOT positions that analysistest cannot produce (it type-checks dependencies from source, where the same definitions have real, readable paths).
  • GOROOT prefix matching rejects an empty prefix, so a GOROOT of / cannot match every path.
Upgrading
go install dev.gaijin.team/go/exhaustruct/v5/cmd/exhaustruct@latest

CLI users reinstall. There is nothing to change in configuration — the only difference is the absence of the spurious diagnostics.

v5.0.2

Compare Source

A cleanup release that separates the analyzer's two construction lifecycles and trims internal surface. CLI behavior, flags, and diagnostics are unchanged. The only externally visible change is to the programmatic constructor API, which has no consumers on the dev.gaijin.team/go/exhaustruct/v5 module path yet — hence a patch bump rather than a major one.

Breaking (programmatic API)
  • NewAnalyzer is split into two constructors (#​160). A single NewAnalyzer(config Config) (*analysis.Analyzer, error) served two conflicting lifecycles — CLI drivers that mutate Config through flags after construction, and library callers that pass a finished Config and expect validation up front. It is now:

    • NewAnalyzer() *analysis.Analyzer — flag-driven, for CLI drivers (singlechecker, go vet -vettool). Configuration is consumed on the first run, after the driver has parsed flags.
    • NewAnalyzerWithConfig(config Config) (*analysis.Analyzer, error) — programmatic, for library consumers such as golangci-lint. The Config is copied and its patterns validated immediately; the analyzer exposes no flags, and later mutations of the passed Config have no effect.
    // before
    a, err := analyzer.NewAnalyzer(cfg)
    
    // after — library callers
    a, err := analyzer.NewAnalyzerWithConfig(cfg)
    
    // after — CLI drivers
    a := analyzer.NewAnalyzer()
Changes
  • No more stray cache-metrics output — debug printing of cache metrics was removed from the analyzer.
  • Config pattern fields (EnforcePatterns, IgnorePatterns, OptionalPatterns, AllowEmptyPatterns) are now the named Patterns type. []string{...} literals remain assignable, so existing field assignments compile unchanged.
Internal

Visitors decoupled from the analyzer struct; the engine wrapper struct removed; lazy initialization confined to the flag-driven path; pattern validation unified under internal/pattern; dead methods and an unused flag.Value implementation dropped. No behavior change.

Upgrading
go install dev.gaijin.team/go/exhaustruct/v5/cmd/exhaustruct@latest

CLI users reinstall; flags and output are unchanged. Library callers rename NewAnalyzer(cfg) to NewAnalyzerWithConfig(cfg).

v5.0.1

Compare Source

Two v5 API bugs traced to the same root cause: NewAnalyzer captured patterns into the processor before the analysis driver parsed flags, so flag-driven values never reached analysis, and the Config fields had to be typed against internal/pattern to be writable at all.

Fixes
  • -enforce-rx, -ignore-rx, -optional-rx, and -allow-empty-rx had no effect under the standalone CLI (#​155). Processor construction now happens lazily on first analyzer run, after flags are populated. golangci-lint integrations were unaffected, since they populate Config programmatically before calling NewAnalyzer.

  • analyzer.Config no longer leaks the internal pattern.List type (#​158). The four pattern fields (EnforcePatterns, IgnorePatterns, OptionalPatterns, AllowEmptyPatterns) are now plain []string; pattern compilation has moved inside the analyzer. Library callers populating these fields directly drop the pattern.NewList call:

    // before
    list, _ := pattern.NewList(`.*\.Foo`)
    analyzer.Config{ EnforcePatterns: list }
    
    // after
    analyzer.Config{ EnforcePatterns: []string{`.*\.Foo`} }
Upgrading
go install dev.gaijin.team/go/exhaustruct/v5/cmd/exhaustruct@latest

CLI users reinstall. Library callers update Config field assignments as shown above.

v5.0.0

Compare Source

exhaustruct v5 reshapes how the linter is configured. Struct tags give way to comment directives, opt-in checking lands as a first-class mode, and patterns now reach down to individual fields. The full reference is in the README; this is the highlight reel.

What's new

Comment directives replace struct tags. Three directives — enforce, ignore, optional — now work at three levels of granularity: type definitions, struct literals, and individual fields. A documented priority order keeps the interaction between them predictable.

//exhaustruct:enforce
type Config struct {
    Host    string
    //exhaustruct:optional
    Timeout int
}

Explicit mode (-explicit) flips the default. Instead of checking every struct literal in the project, the linter only checks types you've explicitly marked — either with //exhaustruct:enforce or via -enforce-rx. The right pick for large codebases where exhaustruct should be a precision tool, not a blanket policy.

Field-level regex patterns. The pattern flags now accept Type#Field syntax, so a single configuration line can express optionality across a codebase without touching the type definitions:

.*\.Server#Timeout    # Timeout field in any Server type

Optional patterns (-optional-rx). Regex-based optionality for whole types or specific fields. Closes a long-standing gap for third-party types you can't annotate directly.

Derived types and aliases now follow a clearer rule. Field-level directives carry through type T = U and type T U — so a field marked optional stays optional on every alias and derived type. Type-level directives stay attached to the original type, which means you can promote a derived type to "enforced" independently.

Better diagnostics. -report-full-type-path reports net/http.Cookie instead of http.Cookie, removing ambiguity when import aliases are in play (#​146). -debug-cache-metrics prints per-package cache statistics, useful for tuning patterns on large projects.

Auto-migration. exhaustruct -fix ./... rewrites the legacy exhaustruct:"optional" tags to comment directives in one pass — no manual sweep required.

Breaking changes
  • Struct tags retired. exhaustruct:"optional" is no longer recognized. The -fix flag migrates existing tags automatically; the manual equivalent is a one-line move from the field's struct tag to a //exhaustruct:optional comment above (or beside) the field.
  • Flag rename. The old include/exclude vocabulary suggested filtering, but the linter has always been about enforcement. The new names say what they do:
    • -include-rx / -i-enforce-rx
    • -exclude-rx / -e-ignore-rx
  • Module path moves to /v5. Update imports and reinstall:
    go install dev.gaijin.team/go/exhaustruct/v5/cmd/exhaustruct@latest
Fixes
  • Implicit pointer composite literals (&T{} returned where the function signature expects *T) are now flagged — previously they slipped past the checker (#​147).
  • Aliased struct types resolve through types.Unalias so their fields are inspected even behind an alias chain (#​149).
Migrating from v4
  1. Update import paths from /v4 to /v5.
  2. Run exhaustruct -fix ./... to rewrite struct tags to comment directives.
  3. Replace -include-rx / -i with -enforce-rx, and -exclude-rx / -e with -ignore-rx in CI configs and .golangci.yaml.
  4. Optional: consider -explicit if you'd rather opt specific types into checking than opt the rest out.
MakeNowJust/heredoc (github.com/MakeNowJust/heredoc)

v2.0.1

Compare Source

Version 2.0.1

Fixes

  • Correct import path for Go modules

v2.0.0

Compare Source

Version 2.0.0

Breaking Changes

  • Treats only white space (U+0020) and horizontal tabs (U+000D) as space characters. (#​6)
alibabacloud-go/cr-20160607 (github.com/alibabacloud-go/cr-20160607)

v2.0.0

Compare Source

  • Generated 2016-06-07 for cr.
alibabacloud-go/cr-20181201 (github.com/alibabacloud-go/cr-20181201)

v3.2.0

Compare Source

  • Support API CreateInstanceCustomizedDomain.
  • Support API DeleteInstanceCustomizedDomain.
  • Support API GetInstanceCustomizedDomain.
  • Support API UpdateInstanceCustomizedDomain.

v3.1.3

Compare Source

  • Update API CreateInstanceEndpointAclPolicy: add request parameters Entries.
  • Update API DeleteInstanceEndpointAclPolicy: add request parameters Entries.

v3.1.2

Compare Source

  • Update API CreateRepoSyncRule: add request parameters LinkId.
  • Update API ListRepoSyncRule: add response parameters Body.SyncRules.$.LinkId.
  • Update API ListRepoSyncTask: add response parameters Body.SyncTasks.$.LinkId.
  • Update API ListRepoSyncTask: add response parameters Body.SyncTasks.$.ModifiedTime.

v3.1.1

Compare Source

  • Update API ListRepoBuildRule: add response parameters Body.BuildRules.$.DestArtifactType.

v3.1.0

Compare Source

  • Support API CreateScanRule.
  • Support API CreateStorageDomainRoutingRule.
  • Support API DeleteScanRule.
  • Support API DeleteStorageDomainRoutingRule.
  • Support API GetScanRule.
  • Support API GetStorageDomainRoutingRule.
  • Support API ListScanRule.
  • Support API UpdateScanRule.
  • Support API UpdateStorageDomainRoutingRule.

v3.0.6

Compare Source

  • Update API GetArtifactSubscriptionRule: add response parameters Body.SourceDomain.
  • Update API ListArtifactSubscriptionRule: add response parameters Body.Rules.$.SourceDomain.

v3.0.5

Compare Source

  • Update API GetInstanceVpcEndpoint: add response parameters Body.LinkedVpcs.$.Issue.

v3.0.4

Compare Source

  • Update API GetArtifactLifecycleRule: add response parameters Body.Policies.
  • Update API ListArtifactLifecycleRule: add response parameters Body.Rules.$.Policies.

v3.0.3

Compare Source

  • Generated 2018-12-01 for cr.

v3.0.2

Compare Source

  • Update API CreateNamespace: add request parameters DefaultRepoConfiguration.
  • Update API GetNamespace: add response parameters Body.DefaultRepoConfiguration.
  • Update API ListNamespace: add response parameters Body.Namespaces.$.DefaultRepoConfiguration.
  • Update API UpdateNamespace: add request parameters DefaultRepoConfiguration.

v3.0.1

Compare Source

  • Update API CreateRepoTagScanTask: add request parameters ScanType.
  • Update API GetRepoTagScanStatus: add request parameters ScanType.

v3.0.0

Compare Source

  • Support API CancelRepoSyncTask.
  • Support API CreateArtifactSubscriptionRule.
  • Support API CreateArtifactSubscriptionTask.
  • Support API DeleteArtifactSubscriptionRule.
  • Support API GetArtifactSubscriptionRule.
  • Support API GetArtifactSubscriptionTask.
  • Support API GetArtifactSubscriptionTaskResult.
  • Support API ListArtifactSubscriptionRule.
  • Support API ListArtifactSubscriptionTask.
  • Support API UpdateArtifactSubscriptionRule.
  • Delete API GetRepoTagLayers.
  • Delete API GetRepoTagManifest.
  • Update API CreateRepoSyncRule: add request parameters RepoNameFilter.
  • Update API GetArtifactBuildRule: add response parameters Body.Parameters.PriorityFile.
  • Update API GetInstanceUsage: add response parameters Body.VpcQuota.
  • Update API GetInstanceUsage: add response parameters Body.VpcUsage.
  • Update API GetRepoSyncTask: add response parameters Body.TaskIssue.
  • Update API ListRepoSyncRule: add response parameters Body.SyncRules.$.RepoNameFilter.
  • Update API ListRepoSyncTask: add response parameters Body.SyncTasks.$.TaskIssue.

v2.5.0

Compare Source

  • Support API CreateArtifactLifecycleRule.
  • Support API DeleteArtifactLifecycleRule.
  • Support API GetArtifactLifecycleRule.
  • Support API ListArtifactLifecycleRule.
  • Support API UpdateArtifactLifecycleRule.

v2.4.0

Compare Source

  • Support API ListScanBaselineByTask.
  • Support API ListScanMaliciousFileByTask.
  • Update API GetArtifactBuildRule: update response param.
  • Update API ListRepository: update param RepoStatus.

v2.3.2

Compare Source

  • Generated 2018-12-01 for cr.

v2.3.1

Compare Source

  • Generated 2018-12-01 for cr.

v2.3.0

Compare Source

  • Generated 2018-12-01 for cr.

v2.2.2

Compare Source

  • Generated 2018-12-01 for cr.

v2.2.1

Compare Source

  • Generated 2018-12-01 for cr.

v2.2.0

Compare Source

  • Generated 2018-12-01 for cr.

v2.1.0

Compare Source

  • Generated 2018-12-01 for cr.

v2.0.1

Compare Source

  • Chain api.

v2.0.0

Compare Source

  • Generated 2018-12-01 for cr.
alibabacloud-go/darabonba-openapi (github.com/alibabacloud-go/darabonba-openapi)

v2.2.4

Compare Source

Sync WebSocket OpenAPI support from aliyun/darabonba-openapi master (#​280).

v2.2.3

Compare Source

v2.2.2

Compare Source

v2.2.1

Compare Source

v2.2.0

Compare Source

v2.1.16

Compare Source

v2.1.15

Compare Source

v2.1.14

Compare Source

v2.1.13

Compare Source

v2.1.12: Realase v2.1.12

Compare Source

v2.1.11

Compare Source

v2.1.10

Compare Source

Full Changelog: alibabacloud-go/darabonba-openapi@v2.1.9...v2.1.10

v2.1.9

Compare Source

v2.1.8

Compare Source

v2.1.7

Compare Source

v2.1.6

Compare Source

v2.1.5

Compare Source

  • update tea core

v2.1.4

Compare Source

v2.1.3

Compare Source

  • Add ToArray in utils

v2.1.2

Compare Source

  • Solve the Token judge error

v2.1.1

Compare Source

  • add GetRules in utils

v2.1.0

Compare Source

  • Upgrade By Darabonba V2

v2.0.12

Compare Source

Full Changelog: alibabacloud-go/darabonba-openapi@v2.0.11...v2.0.12

v2.0.11

Compare Source

Full Changelog: alibabacloud-go/darabonba-openapi@v2.0.10...v2.0.11

v2.0.10

Compare Source

Full Changelog: alibabacloud-go/darabonba-openapi@v2.0.9...v2.0.10

v2.0.9

Compare Source

v2.0.8

Compare Source

Support bearer token credentials request.

v2.0.7

Compare Source

Support extends parameters.

v2.0.6

Compare Source

feat: support extends parameters

v2.0.5

Compare Source

v2.0.4: Release version v2.0.4

v2.0.2

Compare Source

Add gateway client setter.

v2.0.1

Compare Source

Return description and accessDeniedDetail in error info.

v2.0.0

Compare Source

Update with tea-utils.

alibabacloud-go/tea-utils (github.com/alibabacloud-go/tea-utils)

v2.0.9

Compare Source

v2.0.8

Compare Source

v2.0.7

Compare Source

v2.0.6

Compare Source

Support extends query parameters.

v2.0.5

Compare Source

feat: support extends parameters

v2.0.4

Compare Source

Refactor: improve design of nonce

v2.0.3

Compare Source

Support static method AssertAsInteger().

v2.0.2

Compare Source

Fix stringify map value.

v2.0.1

Compare Source

Support ca params for server and client.

v2.0.0

Compare Source

Remove function panic.

apparentlymart/go-textseg (github.com/apparentlymart/go-textseg/v15)

v17.0.1

Compare Source

v17.0.0

Compare Source

v16.0.2

Compare Source

v16.0.1

Compare Source

v16.0.0

Compare Source

bombsimon/wsl (github.com/bombsimon/wsl/v4)

v5.8.0

Compare Source

What's Changed

Full Changelog: bombsimon/wsl@v5.7.0...v5.8.0

v5.7.0

Compare Source

⚠️ DO NOT USE

This was a pre-mature release containing regressions and unfinished changes. This release was never included in golangci-lint and will be replaced with v5.8.0

What's Changed

New Contributors

Full Changelog: bombsimon/wsl@v5.6.0...v5.7.0

v5.6.0

Compare Source

What's Changed

Full Changelog: bombsimon/wsl@v5.5.0...v5.6.0

v5.5.0

Compare Source

What's Changed

Full Changelog: bombsimon/wsl@v5.4.0...v5.5.0

v5.4.0

Compare Source

NOTE ⚠️

This release immediately got superseded by v5.5.0. The only reason being a fix of a bad name of the new check before widely spread. The check should be referred to as after-block which it is from v5.5.0 and onwards.

What's Changed

New Contributors

Full Changelog: bombsimon/wsl@v5.3.0...v5.4.0

Thanks

Note

PR body was truncated to here.

@red-hat-konflux

red-hat-konflux Bot commented May 11, 2026

Copy link
Copy Markdown
Contributor Author

⚠️ Artifact update problem

Renovate failed to update artifacts related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: acceptance/go.sum
Command failed: go get -t ./...
go: gopkg.in/go-jose/go-jose.v4@v4.1.4: parsing go.mod:
	module declares its path as: github.com/go-jose/go-jose/v4
	        but was required as: gopkg.in/go-jose/go-jose.v4

File name: go.sum
Command failed: go mod tidy
go: downloading github.com/MakeNowJust/heredoc/v2 v2.0.1
go: downloading github.com/santhosh-tekuri/jsonschema/v6 v6.0.3
go: downloading github.com/dlclark/regexp2 v1.11.0
go: downloading github.com/zalando/go-keyring v0.2.8
go: finding module for package github.com/jstemmer/go-junit-report/v2/v2/junit
go: github.com/conforma/cli/internal/applicationsnapshot imports
	github.com/jstemmer/go-junit-report/v2/v2/junit: module github.com/jstemmer/go-junit-report/v2@latest found (v2.1.0), but does not contain package github.com/jstemmer/go-junit-report/v2/v2/junit

File name: tools/go.sum
Command failed: go get -t ./...
go: github.com/charmbracelet/lipgloss/v2@v2.0.5: parsing go.mod:
	module declares its path as: charm.land/lipgloss/v2
	        but was required as: github.com/charmbracelet/lipgloss/v2

@red-hat-konflux
red-hat-konflux Bot force-pushed the konflux/mintmaker/main-main/major-go-modules branch 2 times, most recently from 85b690d to 1858720 Compare May 15, 2026 03:15
@red-hat-konflux
red-hat-konflux Bot force-pushed the konflux/mintmaker/main-main/major-go-modules branch from 1858720 to 88d311d Compare June 3, 2026 02:44
@red-hat-konflux
red-hat-konflux Bot force-pushed the konflux/mintmaker/main-main/major-go-modules branch from 88d311d to cbd1b47 Compare June 20, 2026 03:14
@fullsend-ai-review

fullsend-ai-review Bot commented Jun 20, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 3:17 AM UTC · Completed 3:27 AM UTC
Commit: 47d3320 · View workflow run →

@fullsend-ai-review

fullsend-ai-review Bot commented Jun 20, 2026

Copy link
Copy Markdown

Review

This PR (a Renovate/Konflux mintmaker bulk MAJOR-version bump across ~30 Go modules) is unmergeable in its current form. The update automation produced multiple build-breaking defects (corrupted import paths, duplicate/conflicting require entries, unmigrated call sites left behind by module drops, missing go.sum) and includes a number of module paths / versions whose existence upstream cannot be confirmed and which would create dependency-confusion exposure if resolved without pinned checksums. These findings must be resolved before merge.

Findings

Critical

  • [correctness] internal/applicationsnapshot/junit.go:25 and internal/applicationsnapshot/junit_test.go:24 — Import path is corrupted to github.com/jstemmer/go-junit-report/v2/v2/junit (doubled /v2/v2/). Correct v2 path is github.com/jstemmer/go-junit-report/v2/junit. Package will not compile. This also demonstrates the Renovate/mintmaker rewriter is broken and produced output no one built.
    Remediation: Restore both imports to github.com/jstemmer/go-junit-report/v2/junit and add a lint rule (e.g. golangci-lint importas) that rejects /vN/vN/ patterns. See also: [security] finding.

  • [correctness] internal/policy/policy.go:641 — Diff bumps santhosh-tekuri/jsonschema v5 → v6 but this call site still uses the v5-only helper jsonschema.CompileString("schema.json", ecc.Schema). CompileString was removed in v6; compilation happens via jsonschema.NewCompiler() + AddResource + Compile. Package will not compile.
    Remediation: Migrate the call to the v6 Compiler API; audit every other jsonschema.* reference in the repo for v6 compatibility (see medium findings).

  • [correctness] acceptance/image/image.go:60 — File still imports gopkg.in/go-jose/go-jose.v2/json, but acceptance/go.mod was changed to require gopkg.in/go-jose/go-jose.v4 v4.1.5 and drop v2. The v2 module path is no longer in the module set, so the acceptance/ module will fail to build.
    Remediation: Migrate the import (and any API differences) to gopkg.in/go-jose/go-jose.v4/json, or keep v2 in the require block.

  • [correctness] tools/tools.go:29 — File still contains _ "helm.sh/helm/v3/cmd/helm", but tools/go.mod was changed to require helm.sh/helm/v4 v4.2.4 and drop v3. The tools module will fail to build (breaking make targets depending on it).
    Remediation: Update the blank import to helm.sh/helm/v4/cmd/helm (and adjust for v4 layout changes), or keep helm at v3.

  • [correctness] go.mod — Conflicting duplicate require entries for the same module at different versions: github.com/alibabacloud-go/tea-utils/v2 at both v2.0.9 and v2.0.6, and github.com/hashicorp/hcl/v2 at both v2.24.0 and v2.23.0. Go rejects duplicate require entries for the same module path at differing versions.
    Remediation: Remove one line per pair (keeping the intended version) and re-run go mod tidy.

  • [correctness] tools/go.mod — Same class of conflicting duplicate require entries: github.com/alibabacloud-go/tea-utils/v2 at v2.0.9 and v2.0.6; github.com/bombsimon/wsl/v5 at v5.9.0 and v5.6.0; github.com/hashicorp/hcl/v2 at v2.24.0 and v2.23.0.
    Remediation: De-duplicate and re-run go mod tidy.

High

  • [security] go.mod, acceptance/go.mod, tools/go.mod — Multiple bumps target module paths / versions whose existence upstream cannot be confirmed and which look like output from a broken bulk-update tool. Notable examples: github.com/cenkalti/backoff/v7 v7.0.0 (upstream is at v5), github.com/lestrrat-go/jwx/v4 v4.4.0 (upstream is at v3), github.com/go-openapi/{analysis,jsonpointer,jsonreference,spec,validate} v1.0.x (upstream is v0.x — a v1 major would require a /v2 module path per Go module rules), helm.sh/helm/v4 v4.2.4, github.com/dlclark/regexp2/v2 v2.7.2, github.com/go-git/gcfg/v2 v2.0.2, github.com/gobwas/glob v1.0.0, github.com/tjfoc/gmsm/v2 v2.0.0, github.com/apparentlymart/go-textseg/v17 v17.0.1, github.com/bytecodealliance/wasmtime-go/v48 v48.0.0, github.com/gdamore/tcell/v3 v3.4.2, sigs.k8s.io/structured-merge-diff/v7 v7.0.0, github.com/xo/terminfo v1.0.0, github.com/golang/snappy v1.0.0. Combined with the missing go.sum update (see next finding), any of these paths that happen to be unregistered on the module proxy expose the build to a dependency-confusion attack — this repo is a supply-chain policy tool, which raises the stakes further.
    Remediation: Reject the PR wholesale. Do not rerun the automation until the root cause is diagnosed. Regenerate from a known-good Renovate/mintmaker run and require every version to (i) resolve on the module proxy and (ii) be committed with an updated go.sum. Add CI enforcement that fails when go mod tidy produces a diff.

  • [correctness / security] go.mod, acceptance/go.mod, tools/go.mod — Missing go.sum updates. The PR modifies three top-level go.mod files but only touches tools/kubectl/go.sum; the sums at repo root, acceptance/, and tools/ remain unchanged. go build, go mod verify, and any CI gate that runs go mod tidy will fail. Beyond breakage, missing sums defeat Go's built-in module-integrity guarantee — any hijack of a suspect module path (see prior finding) would be silently accepted.
    Remediation: Run go mod tidy in each affected module directory and commit the resulting go.sum diffs.

  • [correctness] go.mod, acceptance/go.mod, tools/go.mod — Identical duplicate require entries appear in every top-level go.mod (e.g. github.com/cenkalti/backoff/v7 v7.0.0 twice, github.com/theupdateframework/go-tuf/v2 v2.4.2 twice, go.yaml.in/yaml/v3 v3.0.5 twice, github.com/pelletier/go-toml/v2 v2.4.3 twice in acceptance, github.com/golang-jwt/jwt/v5 v5.3.1 twice in tools). Even where the duplicates are identical they signal that go mod tidy was not run; taken together with the conflicting duplicates above, they mean the module graph is not internally consistent.
    Remediation: Regenerate with go mod tidy so each module appears once per require block.

  • [security] go.mod:244github.com/golang-jwt/jwt/v4 v4.5.2v5.3.1 (breaking: Claims parsing, mandatory WithValidMethods, error types) applied as a one-line require bump with no source-side call-site update. If jwt is only transitive, the pin is meaningless; if any code depends on v4 validation semantics, they change silently — a fail-open risk for a policy-enforcement CLI whose exit code is used as a security gate.
    Remediation: Run go mod why github.com/golang-jwt/jwt/v5 to confirm direct/indirect usage. If direct, port call sites and add tests exercising valid and tampered tokens.

  • [security] go.modgithub.com/theupdateframework/go-tuf v0.7.0github.com/theupdateframework/go-tuf/v2 v2.4.2. TUF v2 is a rewrite (Updater/metadata model, trusted-root bootstrap, role verification API). No source updates to any TUF integration site are present, and Sigstore's TUF root is on the critical trust path for ec validate image.
    Remediation: Enumerate direct/transitive TUF call sites; add integration tests against the upstream Sigstore TUF root before merging; stage this bump in its own PR reviewed by someone familiar with the Sigstore trust-root code path.

  • [security] acceptance/go.mod:10gopkg.in/go-jose/go-jose.v2 v2.6.3gopkg.in/go-jose/go-jose.v4 v4.1.5. v3→v4 fixed multiple decryption/verification issues (CVE-2024-28180 and PBES2 iteration-limit / header-validation changes). Jumping v2 → v4 without diffing call sites means permissive v2 defaults are silently replaced with stricter v4 behaviour; combined with the still-present v2 import in acceptance/image/image.go (see critical finding), the acceptance suite is broken and any test relying on v2's permissive verification is masked rather than fixed.
    Remediation: Port acceptance-suite call sites to the v4 explicit-algorithm-allowlist API and re-run the acceptance suite; ensure "bad token is rejected" tests still reject.

  • [security] internal/policy/policy.go, pkg/schema/schema.go, internal/evaluation_target/application_snapshot_image/application_snapshot_image.gosanthosh-tekuri/jsonschema v5v6 was applied as an import-only change. v6 removed CompileString, changed Compiler.Compile's error type, and altered default draft / format-assertion behaviour. policy.go:641 validates the operator-supplied policy schema and application_snapshot_image.go validates attestation payloads — both sit directly on the trust boundary, and a silent behavioural change here can fail-open on policy documents or attestations that would previously have been rejected.
    Remediation: Do not bump this dep via a one-line import change. Migrate call sites to the v6 API; add tests that assert both well-formed and malformed documents are handled the same as under v5 (or that any tightening is intentional and documented).

Medium

  • [correctness] pkg/schema/schema.go:41, internal/evaluation_target/application_snapshot_image/application_snapshot_image.go:374 — With jsonschema/v6 now required, these files continue to use v5-shaped Compiler flow (jsonschema.NewCompiler()) and v5's *jsonschema.ValidationError type assertion. Method signatures and the validation-error type differ in v6; verify these files still compile against v6 and audit every field access on the error type.
    Remediation: Audit both files end-to-end against the v6 API and update as needed.

  • [security] go.modgithub.com/hashicorp/hcl v1.0.1-vault-7github.com/hashicorp/hcl/v2 v2.24.0 (with a duplicate v2.23.0 require, see critical finding). The vault-7 fork was maintained specifically for Vault client policy parsing; dropping it changes HCL policy-string decoding. Any Vault ACL policy path in the tree can silently change behaviour.
    Remediation: De-duplicate the v2 require, confirm the Vault client no longer needs the vault-fork, and exercise any Vault integration end-to-end.

  • [security] go.mod, acceptance/go.mod, tools/go.modgithub.com/cenkalti/backoff/v4/v5v7 v7.0.0 (the version-existence concern is covered above). Even setting that aside, backoff/v5 changed retry semantics around context cancellation and Permanent errors — bumping to any future major without touching call sites can turn transient auth failures into infinite retry loops (e.g. against Vault or Rekor) that flood upstreams or leak credentials into logs.
    Remediation: Once pinned to a real published version, review every backoff call site for permanent-error handling and context propagation before merging.

  • [intent-coherence] PR-wide — This PR bundles 30+ major-version bumps across four go.mod files with no linked issue, an unreadable/truncated PR body, and no migration notes. The renovate/dependencies label provides implicit authorization for routine dependency updates, but a coordinated multi-module MAJOR-version campaign of this scale is not "value-only" — many of the touched libraries are semantically load-bearing for a policy-enforcement tool (sigstore/go-tuf, gopkg.in/go-jose, lestrrat-go/jwx, santhosh-tekuri/jsonschema, owenrumney/go-sarif, go-openapi/validate). Bisection is impossible: if a runtime regression appears, it cannot be traced to a single library.
    Remediation: Split per-module (or at minimum per library-family); require an explicit maintainer sign-off for each MAJOR bump on security-relevant or output-format libraries; do not merge as a single unattended Renovate batch.

Low

  • [correctness] tools/kubectl/go.mod:3 — Sibling modules stay at go 1.26.7; this file jumps to go 1.27. Confirm the intent — either align with the other modules or add an explicit toolchain directive so builds do not silently download an unintended toolchain via GOTOOLCHAIN=auto.
    Remediation: Align the go directive with the other modules, or add an explicit toolchain line and document why kubectl needs the newer minor.

  • [provenance-warning] N/A — Prior review context was discarded because PRIOR_REVIEW_PROVENANCE=unverifiable-wrong-app (the prior review comment was authored by a different app than expected and cannot be attributed). This run treats all findings as first-time assessments; severity anchoring against the prior review was skipped. No action required.


Next steps:

  • /fs-fix — agent addresses review findings automatically
  • /fs-fix <your instruction> — agent fixes with your specific guidance
  • Push commits directly — review re-runs automatically on push
  • /fs-fix-stop — disable automatic fix runs for this PR
Previous run

Review

Findings

Critical

  • [incorrect-import-path] internal/applicationsnapshot/junit.go:25 — The import path is changed from github.com/jstemmer/go-junit-report/v2/junit to github.com/jstemmer/go-junit-report/v2/v2/junit, producing a doubled /v2/v2/ segment. The go-junit-report module at v2.1.0 has its junit package at the module root (/v2/junit). There is no nested v2/junit directory in the module. The Renovate bot incorrectly treated the existing /v2 module suffix in the import as a v1 reference and appended another /v2. This will cause a build failure because the import path does not resolve to any existing package.
    Remediation: Revert the import change in both internal/applicationsnapshot/junit.go and internal/applicationsnapshot/junit_test.go. The import should remain github.com/jstemmer/go-junit-report/v2/junit.

  • [incorrect-import-path] internal/applicationsnapshot/junit_test.go:24 — Same doubled /v2/v2/ import path issue. The import github.com/jstemmer/go-junit-report/v2/v2/junit does not exist; the correct path is github.com/jstemmer/go-junit-report/v2/junit.
    Remediation: Revert the import to github.com/jstemmer/go-junit-report/v2/junit.

High

  • [API-incompatibility] pkg/schema/schema.go:23 — The import is changed from jsonschema/v5 to jsonschema/v6, but the code uses the v5 API surface which has breaking changes in v6. Specifically: (1) compiler.AssertFormat is a bool field in v5 but a method in v6 — compiler.AssertFormat = true will fail to compile, (2) compiler.AddResource() takes (string, io.Reader) in v5 but (string, any) in v6, (3) jsonschema.CompileString() exists in v5 but does not exist in v6 — internal/policy/policy.go uses this and will fail to compile. The same issue affects internal/policy/policy.go and internal/evaluation_target/application_snapshot_image/application_snapshot_image.go.
    Remediation: Either revert the jsonschema version bump to stay on v5, or update all call sites to use the v6 API.

  • [invalid-go-mod] go.mod:148 — The PR creates duplicate module entries with conflicting versions in go.mod. Confirmed duplicates: (1) cenkalti/backoff/v7 v7.0.0 appears twice (was backoff/v4 + backoff/v5, both mapped to v7), (2) tea-utils/v2 with v2.0.9 and v2.0.6, (3) hcl/v2 with v2.24.0 and v2.23.0, (4) go-tuf/v2 with v2.4.2 and v2.4.1, (5) yaml/v3 with v3.0.5 and v3.0.4. Go tooling will reject duplicate require entries for the same module path.
    Remediation: Remove the duplicate entries, keeping only the higher version for each module. Run go mod tidy.

  • [invalid-go-mod] acceptance/go.mod:70 — Same duplicate-entry problem: cenkalti/backoff/v7 (identical entries), pelletier/go-toml/v2 (v2.4.3 and v2.3.0), go-tuf/v2 (conflicting versions), yaml/v3 (v3.0.5 and v3.0.4).
    Remediation: Remove duplicates and run go mod tidy.

  • [invalid-go-mod] tools/go.mod:162 — Same duplicate-entry problem with even more affected modules: cenkalti/backoff/v7, bombsimon/wsl/v5 (v5.8.0 and v5.6.0), golang-jwt/jwt/v5 (v5.3.1 twice), hcl/v2, go-tuf/v2, yaml/v3, tea-utils/v2.
    Remediation: Remove duplicates and run go mod tidy.

Low

  • [alias-mismatch] internal/evaluator/conftest_evaluator_test_helpers.go:43 — The import is changed from github.com/MakeNowJust/heredoc (unaliased) to github.com/MakeNowJust/heredoc/v2 (also unaliased). Verified: the v2 module's package name is heredoc, so the unaliased import resolves correctly and heredoc.Doc(...) calls will compile without issue. No action needed.

  • [sub-agent-failure] N/A — The style-conventions sub-agent did not return findings: model not available. This is a mechanical dependency update PR where the style sub-agent would early-exit with no findings, so no review gap exists.


Labels: PR updates Go dependency files (go.mod, go.sum) and Go source imports, matching both the dependencies and go label descriptions.


Next steps:

  • /fs-fix — agent addresses review findings automatically
  • /fs-fix <your instruction> — agent fixes with your specific guidance
  • Push commits directly — review re-runs automatically on push
  • /fs-fix-stop — disable automatic fix runs for this PR
Previous run (2)

Review

Findings

Critical

  • [incorrect-import-path] internal/applicationsnapshot/junit.go:25 — The import path is changed to github.com/jstemmer/go-junit-report/v2/v2/junit, creating a doubled /v2/v2/ path segment. The go.mod correctly declares the module as github.com/jstemmer/go-junit-report/v2 v2.1.0, so the junit subpackage lives at github.com/jstemmer/go-junit-report/v2/junit. The doubled path does not exist in the module and will fail to compile. Renovate appears to have naively appended /v2 to a path that already contained /v2 as a subdirectory name.
    Remediation: Keep the import as github.com/jstemmer/go-junit-report/v2/junit. No import path change is needed for this dependency.

  • [incorrect-import-path] internal/applicationsnapshot/junit_test.go:24 — Same doubled /v2/v2/ import path issue as junit.go. This will also fail to compile.
    Remediation: Keep the import as github.com/jstemmer/go-junit-report/v2/junit.

  • [api-contract] pkg/schema/schema.go:43 — The import is bumped from jsonschema/v5 to jsonschema/v6, but the code uses v5 API patterns that are incompatible with v6. Verified against the v6.0.2 source: (1) compiler.AssertFormat = true (line 44) will fail to compile — AssertFormat changed from a bool field in v5 to a method in v6. (2) compiler.AddResource(URI, strings.NewReader(...)) (line 46) will compile (since io.Reader satisfies any) but will fail at runtime — v6 expects pre-decoded JSON via jsonschema.UnmarshalJSON, not an io.Reader. (3) jsonschema.CompileString(...) in internal/policy/policy.go was removed entirely in v6 — will fail to compile. (4) *jsonschema.ValidationError type assertion in application_snapshot_image.go may also break depending on v6 error type changes.
    Remediation: Either (a) keep jsonschema at v5 if no API migration is planned, or (b) update all call sites to match the v6 API: change compiler.AssertFormat = true to compiler.AssertFormat(), change AddResource calls to pass pre-decoded JSON via jsonschema.UnmarshalJSON(strings.NewReader(...)), and replace CompileString with the v6 equivalent (compiler.AddResource + compiler.Compile).

High

  • [duplicate-go-mod-entries] go.mod — Multiple go.mod files contain duplicate require entries after Renovate bumped old major versions to module paths that already existed. Examples: (1) github.com/cenkalti/backoff/v7 v7.0.0 appears twice (both backoff/v4 and backoff/v5 became backoff/v7). (2) github.com/alibabacloud-go/tea-utils/v2 at two versions (v2.0.9 and v2.0.6). (3) github.com/hashicorp/hcl/v2 at two versions (v2.24.0 and v2.23.0). (4) github.com/theupdateframework/go-tuf/v2 at two versions (v2.4.2 and v2.4.1). (5) go.yaml.in/yaml/v3 v3.0.4 appears twice. Same patterns in acceptance/go.mod and tools/go.mod. Go will reject these files.
    Remediation: Run go mod tidy in all module directories (root, acceptance/, tools/, tools/kubectl/) to deduplicate entries and resolve version conflicts.

Labels: PR updates Go dependency files and Go source imports, matching the dependencies and go label descriptions.

Previous run (3)

Review

Findings

Critical

  • [API contract violation] internal/applicationsnapshot/junit.go:25 — Import path github.com/jstemmer/go-junit-report/v2/v2/junit is invalid and will not compile. The correct import for the v2 module is github.com/jstemmer/go-junit-report/v2/junit. Renovate mechanically doubled the /v2 prefix when upgrading from the v1 dependency, because the old import already contained /v2/ as a directory path within the v1 module. The same issue affects internal/applicationsnapshot/junit_test.go:24.
    Remediation: Revert the import in both junit.go and junit_test.go back to github.com/jstemmer/go-junit-report/v2/junit. The go.mod change from v1 to v2 is correct.

  • [API contract violation] pkg/schema/schema.go:42 — The jsonschema/v5 to jsonschema/v6 upgrade introduces breaking API changes but the calling code was not updated. In v6: (1) compiler.AssertFormat changed from a settable bool field to a method call compiler.AssertFormat(), (2) compiler.AddResource(url, io.Reader) changed to compiler.AddResource(url, any) where the second argument must be a pre-parsed JSON value from jsonschema.UnmarshalJSON(). The code still uses v5 patterns and will not compile.
    Remediation: Update to v6 API — use compiler.AssertFormat() and pre-parse resources with jsonschema.UnmarshalJSON(reader) before passing to compiler.AddResource().

  • [API contract violation] internal/policy/policy.go:604jsonschema.CompileString() was removed in jsonschema v6. The PR changes the import from v5 to v6 but does not update this call site. The code will fail to compile.
    Remediation: Replace with the v6 equivalent: c := jsonschema.NewCompiler(), then doc, _ := jsonschema.UnmarshalJSON(strings.NewReader(schema)), then c.AddResource(url, doc), then c.Compile(url).

  • [Logic error] go.mod — Duplicate require entries for the same module path across all three go.mod files, which will cause go commands to fail with "repeated module statement" errors. Renovate independently updated two old major versions (e.g., backoff/v4 and backoff/v5) to the same new target (backoff/v7), producing duplicate lines. Confirmed duplicates include:

    • cenkalti/backoff/v7 (exact duplicate, go.mod + acceptance/go.mod + tools/go.mod)
    • hashicorp/hcl/v2 with conflicting versions v2.24.0 and v2.23.0 (go.mod + tools/go.mod)
    • theupdateframework/go-tuf/v2 with v2.4.2 and v2.4.1 (go.mod + acceptance/go.mod + tools/go.mod)
    • alibabacloud-go/tea-utils/v2 with v2.0.9 and v2.0.6 (go.mod + tools/go.mod)
    • go.yaml.in/yaml/v3 (exact duplicate, acceptance/go.mod + tools/go.mod)
    • pelletier/go-toml/v2 with v2.4.3 and v2.3.0 (acceptance/go.mod)
    • bombsimon/wsl/v5 with v5.8.0 and v5.6.0 (tools/go.mod)
    • golang-jwt/jwt/v5 with v5.3.1 and v5.3.0 (tools/go.mod)
      Remediation: Remove duplicate entries, keeping only the higher version for each module path. Run go mod tidy in each module directory.

Labels: Renovate bot PR updating Go module dependencies to new major versions

Previous run (4)

Review

Findings

Critical

  • [duplicate-module-entries] go.mod — The bot mechanically upgrades old major versions by replacing the version suffix, but when both the old and new major versions of a module are already present as separate entries, the replacement creates duplicate or version-conflicting entries. This makes go.mod invalid — go build and go mod tidy will fail.

    Affected modules:

    • cenkalti/backoff/v4 + cenkalti/backoff/v5 → both become backoff/v7 v7.0.0 (exact duplicate)
    • hashicorp/hcl v1.0.1-vault-7 + hcl/v2 v2.23.0 → both become hcl/v2 with conflicting versions (v2.24.0 vs v2.23.0)
    • theupdateframework/go-tuf v0.7.0 + go-tuf/v2 v2.4.1 → both become go-tuf/v2 with conflicting versions (v2.4.2 vs v2.4.1)
    • alibabacloud-go/tea-utils v1.4.5 + tea-utils/v2 v2.0.6 → both become tea-utils/v2 with conflicting versions (v2.0.9 vs v2.0.6)
    • go.yaml.in/yaml/v2 + yaml/v3 → both become yaml/v3 v3.0.4 (exact duplicate)

    The same pattern repeats in acceptance/go.mod and tools/go.mod.

    Remediation: Remove the duplicate entries. For each pair, keep only one line with the correct target version. Run go mod tidy to verify validity.

  • [incorrect-import-path] internal/applicationsnapshot/junit.go:25 — The bot upgraded the indirect dependency go-junit-report v1 to v2 in go.mod, then mechanically transformed all import paths by appending /v2. But the code already imports from the v2 module: github.com/jstemmer/go-junit-report/v2/junit. The transformation produces the invalid path github.com/jstemmer/go-junit-report/v2/v2/junit (doubled /v2). Same issue in junit_test.go:24. This will cause compilation failure.

    Remediation: Do not modify the import paths in junit.go and junit_test.go. They already correctly reference the v2 module path.

  • [api-incompatibility] pkg/schema/schema.go:44 — The PR changes the jsonschema import from v5 to v6 but does not update any API call sites. The v6 library has breaking API changes: (1) AddResource() signature changed from (string, io.Reader) to (string, any) requiring pre-parsed JSON; (2) AssertFormat changed from a settable bool field to a method call; (3) CompileString() used in internal/policy/policy.go:604 may have changed semantics. Additionally, *jsonschema.ValidationError type assertions in application_snapshot_image.go:374 may break.

    Remediation: Either keep jsonschema at v5, or update all call sites to match the v6 API.

Medium

  • [missing-go-sum-updates] go.sum — Only tools/kubectl/go.sum is updated, but go.sum, acceptance/go.sum, and tools/go.sum also need regeneration for the changed module versions. Note: this is moot until the critical go.mod issues above are resolved.

    Remediation: Run go mod tidy in each module directory after fixing the go.mod issues.


Labels: Automated dependency update PR modifying Go module files.

Previous run (5)

Review — request-changes

PR: #3287 — 🚨 Update go modules (main) (major)
Author: red-hat-konflux[bot] (automated dependency update)

Summary

This automated PR attempts to bump ~40 Go module dependencies to their next major versions across four go.mod files (go.mod, acceptance/go.mod, tools/go.mod, tools/kubectl/go.mod) and updates import paths in 16 Go source files. However, the automated tool has a systematic bug: when a go.mod contains two entries for different major versions of the same module (e.g., backoff/v4 and backoff/v5), the tool bumps both to the same new major version (e.g., backoff/v7), producing duplicate or conflicting module entries. Go's module system rejects duplicate module paths in go.mod, making this PR un-buildable in its current state.

Additionally, one source file import path has been incorrectly rewritten with a doubled /v2 segment, and go.sum files are missing updates for three of the four modules.


Findings

🔴 Critical: Broken import path — doubled /v2 segment

Files: internal/applicationsnapshot/junit.go:25, internal/applicationsnapshot/junit_test.go:24

The import is changed from:

"github.com/jstemmer/go-junit-report/v2/junit"

to:

"github.com/jstemmer/go-junit-report/v2/v2/junit"

The /v2 is already part of the module path (github.com/jstemmer/go-junit-report/v2). The sub-package import should remain github.com/jstemmer/go-junit-report/v2/junit. The tool appears to have naively prepended /v2 without recognizing it was already present. This will cause a compilation failure.

Remediation: Keep the import as github.com/jstemmer/go-junit-report/v2/junit and remove the stale github.com/jstemmer/go-junit-report v1.0.0 entry from go.mod (it's now a duplicate of the existing direct dependency on /v2).


🔴 Critical: Duplicate module entries in go.mod files

The tool creates duplicate or version-conflicting entries when it bumps two different major versions of the same underlying module to the same target version. Go's go.mod parser does not allow two require directives for the same module path. Affected entries:

Module Old entries New (broken) Affected files
cenkalti/backoff /v4 v4.3.0 + /v5 v5.0.3 Both → /v7 v7.0.0 (exact duplicate) go.mod, acceptance/go.mod, tools/go.mod
go.yaml.in/yaml /v2 v2.4.x + /v3 v3.0.4 Both → /v3 v3.0.4 (exact duplicate) go.mod, acceptance/go.mod, tools/go.mod
theupdateframework/go-tuf v0.7.0 + /v2 v2.4.1 Both → /v2 at v2.4.2 vs v2.4.1 (conflict) go.mod, acceptance/go.mod, tools/go.mod
hashicorp/hcl v1.0.1-vault-7 + /v2 v2.23.0 Both → /v2 at v2.24.0 vs v2.23.0 (conflict) go.mod, tools/go.mod
alibabacloud-go/tea-utils v1.4.5 + /v2 v2.0.6 Both → /v2 at v2.0.9 vs v2.0.6 (conflict) go.mod, tools/go.mod
pelletier/go-toml v1.9.5 + /v2 v2.3.0 Both → /v2 at v2.4.3 vs v2.3.0 (conflict) acceptance/go.mod
bombsimon/wsl /v4 v4.7.0 + /v5 v5.6.0 Both → /v5 at v5.8.0 vs v5.6.0 (conflict) tools/go.mod
golang-jwt/jwt /v4 v4.5.2 + /v5 v5.3.0 Both → /v5 at v5.3.1 vs v5.3.0 (conflict) tools/go.mod
jstemmer/go-junit-report v1.0.0 (indirect) /v2 v2.1.0 duplicates existing direct dep go.mod

Remediation: When bumping a module to a new major version whose path already exists in go.mod, the old entry should be removed rather than rewritten. The surviving entry should carry the higher version. The tool needs to deduplicate after rewriting module paths.


🟠 High: Missing go.sum updates

The PR updates tools/kubectl/go.sum but omits updates to go.sum, acceptance/go.sum, and tools/go.sum. These files must be regenerated (via go mod tidy) to include checksums for all newly referenced module versions. Without this, go build and go test will fail with checksum verification errors.

Remediation: Run go mod tidy in each module directory after fixing the go.mod duplicate entries.


Verdict

This PR has 9 critical findings (duplicate/conflicting module entries across 3 go.mod files, plus a broken import path) and 1 high finding (missing go.sum updates). The automated tool has a systematic defect when the same underlying module exists at multiple major versions in a go.mod — it bumps both entries to the same target, producing invalid module files. The PR cannot be merged in its current state and will fail to compile.

Recommendation: The dependency update tool's logic needs to handle the "two old majors collapse into one new major" case by removing one entry and keeping only the higher version. After fixing the tool or manually deduplicating, run go mod tidy in all module directories and verify with go build ./....

Previous run (6)

Review — ✋ Changes Requested

This is an automated major Go dependency update PR from the mintmaker/Renovate bot. While the intent (updating major versions of Go modules) is correct, the execution has produced several build-breaking issues that prevent compilation. The automated tooling appears to have replaced old major-version module paths with new ones without detecting that the target major version already existed in the require block, creating duplicate entries. Additionally, some import path rewriting in source files is incorrect.

Findings

1. 🔴 Duplicate and conflicting go.mod entries across all modules (High — Correctness)

The dependency updater replaced old module major versions (e.g., backoff/v4, backoff/v5) with the latest major version (e.g., backoff/v7), but in many cases the target major version already existed in the require block. This creates either exact duplicates or version conflicts for the same module path. Go's toolchain rejects duplicate require directives and these will cause go mod tidy and go build to fail.

Affected modules and specific conflicts:

Module path Conflict type Files
github.com/cenkalti/backoff/v7 Exact duplicate (two identical v7.0.0 lines) go.mod, acceptance/go.mod, tools/go.mod
github.com/theupdateframework/go-tuf/v2 Version conflict: v2.4.2 vs existing v2.4.1 go.mod, acceptance/go.mod, tools/go.mod
github.com/alibabacloud-go/tea-utils/v2 Version conflict: v2.0.9 vs existing v2.0.6 go.mod, tools/go.mod
github.com/hashicorp/hcl/v2 Version conflict: v2.24.0 vs existing v2.23.0 go.mod, tools/go.mod
go.yaml.in/yaml/v3 Exact duplicate (v3.0.4) go.mod, acceptance/go.mod, tools/go.mod
github.com/pelletier/go-toml/v2 Version conflict: v2.4.3 vs existing v2.3.0 acceptance/go.mod
github.com/golang-jwt/jwt/v5 Version conflict: v5.3.1 vs existing v5.3.0 tools/go.mod
github.com/bombsimon/wsl/v5 Version conflict: v5.8.0 vs existing v5.6.0 tools/go.mod
github.com/jstemmer/go-junit-report/v2 Duplicate: new indirect v2.1.0 alongside existing direct v2.1.0 go.mod

Remediation: For each conflict, keep only the higher version and remove the duplicate line. For exact duplicates, remove the redundant line. Running go mod tidy after fixing should reconcile the dependency graph.


2. 🔴 Incorrect go-junit-report import path — doubled /v2/v2/ (High — Correctness)

The bot changed the import in internal/applicationsnapshot/junit.go and junit_test.go from:

"github.com/jstemmer/go-junit-report/v2/junit"

to:

"github.com/jstemmer/go-junit-report/v2/v2/junit"

The current code already correctly imports from the v2 module (github.com/jstemmer/go-junit-report/v2 v2.1.0 is a direct dependency in go.mod). The /v2/junit suffix refers to the junit sub-package within the v2 module. The bot appears to have prepended another /v2 module-path component to the existing import, producing a nonsensical /v2/v2/junit path that does not exist.

Remediation: Revert the import path change in these two files — the current import github.com/jstemmer/go-junit-report/v2/junit is already correct. Also revert the go.mod change that adds a duplicate go-junit-report/v2 indirect entry.


3. 🔴 jsonschema v5 → v6: import path changed without code adaptation (High — Correctness)

The import path for santhosh-tekuri/jsonschema was changed from /v5 to /v6 in three files:

  • internal/evaluation_target/application_snapshot_image/application_snapshot_image.go
  • internal/policy/policy.go
  • pkg/schema/schema.go

However, no code was changed to adapt to the v6 API. The v6 release is a major version with breaking API changes. The codebase uses jsonschema.CompileString(), jsonschema.NewCompiler(), compiler.AddResource(), compiler.MustCompile(), schema.Validate(), and *jsonschema.ValidationError — several of these have different signatures or behavior in v6. This will cause compilation failures.

Remediation: Either:

  • Keep jsonschema/v5 until the code can be adapted to the v6 API, or
  • Update all usage sites to match the v6 API (likely requires changes to CompileString, AddResource, NewCompiler usage, and error handling patterns)

Summary

This PR cannot be merged as-is — the go.mod duplicates alone will prevent any CI build from succeeding, and the incorrect import paths and API-incompatible version bumps add further compilation failures. The root cause appears to be a limitation in the automated dependency updater: when replacing a retired major version (e.g., backoff/v4) with the latest (e.g., backoff/v7), it does not detect that an intermediate version of the same target module (e.g., backoff/v5 also being replaced to backoff/v7) is already present, creating duplicates.

Recommend regenerating this PR after improving the bot's deduplication logic, or manually resolving the conflicts and verifying compilation with go build ./... and go mod tidy across all modules (./, acceptance/, tools/, tools/kubectl/).

Previous run (7)

Review — request-changes

This automated dependency update PR (Renovate/Mintmaker) bumps ~30 Go modules to major versions across go.mod, go.sum, and source import paths. While the intent is correct and includes security-positive upgrades (notably migrating from the EOL go-jose/v2 which is affected by CVE-2025-27144), the automated tool has produced several build-breaking issues that must be resolved before merging.

Critical: Duplicate dependency lines in go.mod files

The automated tool merges distinct Go major-version dependency pairs into duplicate lines. When two separate major versions of a module coexist (e.g., backoff/v4 and backoff/v5 — perfectly valid under Go's module system), both are naively bumped to the same target version, producing identical duplicate require entries. Go rejects go.mod files with duplicate module paths.

Affected pairs across root go.mod, acceptance/go.mod, and tools/go.mod:

  • github.com/cenkalti/backoff/v7 v7.0.0 (duplicated — was v4 + v5)
  • github.com/theupdateframework/go-tuf/v2 (v2.4.2 + v2.4.1)
  • go.yaml.in/yaml/v3 v3.0.4 (duplicated — was yaml/v2 + yaml/v3)
  • github.com/alibabacloud-go/tea-utils/v2 (v2.0.9 + v2.0.6)
  • github.com/hashicorp/hcl/v2 (v2.24.0 + v2.23.0)
  • github.com/pelletier/go-toml/v2 (v2.4.3 + v2.3.0, acceptance)
  • github.com/bombsimon/wsl/v5 (v5.8.0 + v5.6.0, tools)
  • github.com/golang-jwt/jwt/v5 (v5.3.1 + v5.3.0, tools)

Remediation: Each pair of distinct major versions must be treated as separate modules. Only bump the version that is actually outdated; do not merge two different major-version modules into a single line. Remove the duplicates and run go mod tidy.

Critical: Broken import path for go-junit-report

The import in internal/applicationsnapshot/junit.go and junit_test.go was changed from github.com/jstemmer/go-junit-report/v2/junit to github.com/jstemmer/go-junit-report/v2/v2/junit — a double /v2/v2/ that does not exist. The original import already correctly referenced the v2 module. The tool naively prepended /v2 again because it bumped a separate indirect v1 entry to v2.

Remediation: Do not modify these import paths — they already reference the correct v2 module. Deduplicate the go.mod entries.

Critical: jsonschema v5 → v6 API incompatibility

The import changed from santhosh-tekuri/jsonschema/v5 to /v6 but no API usage was updated. The v6 library has breaking API changes that will cause compilation failures:

  1. compiler.AssertFormat = trueAssertFormat is now a method, not a settable field (pkg/schema/schema.go)
  2. compiler.AddResource(url, io.Reader) — now requires a pre-parsed JSON value from jsonschema.UnmarshalJSON(), not an io.Reader (pkg/schema/schema.go)
  3. compiler.MustCompile(url) — removed in v6; must use compiler.Compile() which returns (*Schema, error) (pkg/schema/schema.go)
  4. jsonschema.CompileString() — removed in v6 (internal/policy/policy.go)

Remediation: Update all jsonschema API usage to match v6, or keep jsonschema at v5 if migration is not intended in this PR.

High: Missing go.sum updates

Only tools/kubectl/go.sum is updated. The root go.sum, acceptance/go.sum, and tools/go.sum are missing checksum updates for the new dependency versions, which will cause build failures.

Remediation: Run go mod tidy in each module directory after fixing the go.mod issues.


Security note: This PR includes security-positive dependency upgrades — notably migrating from the end-of-life gopkg.in/go-jose/go-jose.v2 (affected by CVE-2025-27144, DoS via memory exhaustion in JWS/JWE parsing) to v4.1.4. The golang-jwt/jwt and go-tuf upgrades are also positive supply chain hygiene improvements.

Recommendation: The automated tool's naive major-version bumping has produced several build-breaking issues. These need manual intervention to resolve the duplicate go.mod entries, fix the broken import path, and either update jsonschema API usage for v6 or keep it at v5. Consider running the update tool with more granular configuration, or applying these major bumps individually with proper testing.

Previous run (8)

Review

Findings

Critical

  • [api-contract] go.mod:8 — The PR bumps github.com/MakeNowJust/heredoc from v1.0.0 to heredoc/v2 v2.0.1 in go.mod, but does not update the 15+ source files that import github.com/MakeNowJust/heredoc (e.g., cmd/root/root_cmd.go, cmd/validate/image.go, internal/policy/policy_test.go, internal/opa/rule/rule_test.go, etc.). In Go, a major version bump changes the module path, so all import statements must change from github.com/MakeNowJust/heredoc to github.com/MakeNowJust/heredoc/v2. Without these changes, the build will fail.
    Remediation: Update all Go source files importing github.com/MakeNowJust/heredoc to import github.com/MakeNowJust/heredoc/v2 instead, or revert the major version bump in go.mod.

  • [api-contract] go.mod:32 — The PR bumps github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 to jsonschema/v6 v6.0.2 in go.mod, but does not update the 3 source files that import v5: pkg/schema/schema.go, internal/policy/policy.go, and internal/evaluation_target/application_snapshot_image/application_snapshot_image.go. The import path must change from jsonschema/v5 to jsonschema/v6. Additionally, jsonschema v6 has breaking API changes. Without source code updates, the build will fail.
    Remediation: Update all Go source files importing jsonschema/v5 to import jsonschema/v6, and adapt to any API changes in the v6 release, or revert the major version bump.

  • [api-contract] tools/go.mod:14 — The PR bumps helm.sh/helm/v3 to helm.sh/helm/v4 v4.2.2 in tools/go.mod, but does not update tools/tools.go (which imports helm.sh/helm/v3/cmd/helm), Makefile (line 207: go run -modfile tools/go.mod helm.sh/helm/v3/cmd/helm), or hack/helm.sh (lines 28-29: references to helm.sh/helm/v3/pkg/chartutil and helm.sh/helm/v3/cmd/helm). All these references use the v3 import path and will fail to resolve after the module path changes to v4.
    Remediation: Update tools/tools.go, Makefile, and hack/helm.sh to reference helm.sh/helm/v4 instead of helm.sh/helm/v3, or revert the major version bump.

  • [logic-error] go.mod — The PR introduces numerous duplicate require entries across all four go.mod files. Examples: cenkalti/backoff/v7 appears twice (in go.mod, tools/go.mod, acceptance/go.mod), go-tuf/v2 with conflicting versions v2.4.2 and v2.4.1, go.yaml.in/yaml/v3 duplicated, hashicorp/hcl/v2 with v2.24.0 and v2.23.0, alibabacloud-go/tea-utils/v2 with v2.0.9 and v2.0.6, pelletier/go-toml/v2 with v2.4.2 and v2.3.0 (acceptance/go.mod), bombsimon/wsl/v5 with v5.8.0 and v5.6.0 (tools/go.mod), golang-jwt/jwt/v5 with v5.3.1 and v5.3.0 (tools/go.mod). Go's toolchain does not permit duplicate module entries in go.mod — go mod tidy and go build will reject files with duplicate require directives.
    Remediation: Remove duplicate require entries, keeping only the highest version of each module. Run go mod tidy on each module to clean up.

Previous run (9)

Review

Findings

Critical

  • [logic-error] go.mod:32 — The PR bumps the direct dependency github.com/santhosh-tekuri/jsonschema/v5 to /v6, but no .go source files are modified. In Go, a major version bump changes the import path. At least 3 source files import jsonschema/v5 (pkg/schema/schema.go, internal/policy/policy.go, internal/evaluation_target/application_snapshot_image/application_snapshot_image.go). The build will fail because the v5 import path will no longer resolve.
    Remediation: Either revert the jsonschema bump to stay on v5, or update all Go import statements from jsonschema/v5 to jsonschema/v6 and adapt to any API changes.

  • [logic-error] go.mod:8 — The PR bumps github.com/MakeNowJust/heredoc from v1 to /v2, but no .go source files are modified. 19 Go source files import github.com/MakeNowJust/heredoc (without /v2). The build will fail because the old import path will no longer be listed in go.mod.
    Remediation: Either revert this bump, or update all 19 Go source files to import github.com/MakeNowJust/heredoc/v2.

  • [logic-error] tools/go.mod:14 — The PR bumps helm.sh/helm/v3 to helm.sh/helm/v4, but tools/tools.go imports helm.sh/helm/v3/cmd/helm. No Go source files are changed. The build will fail.
    Remediation: Either revert the helm bump, or update tools/tools.go to import helm.sh/helm/v4/cmd/helm.

  • [logic-error] acceptance/go.mod:38 — The PR bumps gopkg.in/go-jose/go-jose.v2 to .v4, but acceptance/image/image.go imports gopkg.in/go-jose/go-jose.v2/json. No Go source files are changed. The build will fail.
    Remediation: Either revert this bump, or update acceptance/image/image.go to import gopkg.in/go-jose/go-jose.v4/json and adapt to any API changes.

Medium

  • [logic-error] go.mod — The diff introduces duplicate module entries within individual go.mod files where the same module path appears with two different versions. Affected modules include: go-tuf/v2 (v2.4.1 and v2.4.2), hcl/v2 (v2.23.0 and v2.24.0), go-toml/v2 (v2.3.0 and v2.4.2), jwt/v5 (v5.3.0 and v5.3.1), wsl/v5 (v5.6.0 and v5.8.0), tea-utils/v2 (v2.0.6 and v2.0.9), yaml/v3 (duplicated). These duplicates will cause go mod tidy to fail.
    Remediation: Remove the duplicate entries, keeping only the higher version for each duplicated module path. Run go mod tidy in each module directory to validate.
Previous run (10)

Review

Findings

Critical

  • [api-contract] go.mod:8 — The module github.com/MakeNowJust/heredoc has been replaced with github.com/MakeNowJust/heredoc/v2 in go.mod, but 19 Go source files still import the old path "github.com/MakeNowJust/heredoc". In Go modules, a /v2 suffix is a distinct import path; the old import path will not resolve against the new module declaration. This will cause a compilation failure.
    Remediation: Update all import statements in Go source files from "github.com/MakeNowJust/heredoc" to "github.com/MakeNowJust/heredoc/v2". Affected files include: cmd/fetch/fetch_policy.go, cmd/initialize/init_policies.go, cmd/inspect/inspect_policy_data.go, cmd/inspect/inspect_policy.go, cmd/root/root_cmd.go, cmd/sigstore/initialize.go, cmd/track/track_bundle.go, cmd/validate/image_test.go, cmd/validate/image.go, cmd/validate/input.go, cmd/validate/policy.go, cmd/validate/vsa.go, and several files under internal/.

  • [api-contract] tools/go.mod:14 — The module helm.sh/helm/v3 has been replaced with helm.sh/helm/v4 in tools/go.mod, but tools/tools.go line 29 still imports helm.sh/helm/v3/cmd/helm. This is a different module path and will cause a compilation failure.
    Remediation: Update the import in tools/tools.go from helm.sh/helm/v3/cmd/helm to helm.sh/helm/v4/cmd/helm.

  • [api-contract] acceptance/go.mod:38 — The module gopkg.in/go-jose/go-jose.v2 has been replaced with gopkg.in/go-jose/go-jose.v4 in acceptance/go.mod, but acceptance/image/image.go line 60 still imports gopkg.in/go-jose/go-jose.v2/json. The .v2 and .v4 vanity import paths resolve to different modules, so this will fail to compile.
    Remediation: Update the import in acceptance/image/image.go from gopkg.in/go-jose/go-jose.v2/json to gopkg.in/go-jose/go-jose.v4/json, and verify the API is compatible.

High

  • [logic-error] go.mod:148 — Multiple duplicate dependency entries will be introduced. The diff replaces old major versions with new ones but leaves the original lines in place, creating duplicates with conflicting versions. Confirmed duplicates in go.mod: cenkalti/backoff/v6 (two identical lines from replacing both v4 and v5), tea-utils/v2 (v2.0.9 replacing v1 line while v2.0.6 already exists), go-tuf/v2 (v2.4.2 replacing v0 line while v2.4.1 already exists), go.yaml.in/yaml/v3 (two identical lines from replacing v2 while v3 already exists). The same pattern appears in acceptance/go.mod and tools/go.mod.
    Remediation: Remove the old version lines when adding the new version lines. For entries where the old and new versions resolve to the same major version path, ensure only one line exists. Run go mod tidy to validate.

  • [logic-error] acceptance/go.mod:182 — The diff replaces github.com/pelletier/go-toml v1.9.5 with github.com/pelletier/go-toml/v2 v2.4.2, while go-toml/v2 v2.3.0 already exists at line 183, creating a duplicate go-toml/v2 entry with conflicting versions.
    Remediation: Remove the duplicate go-toml/v2 entry and keep only the newer version.

Previous run (11)

Review

Findings

Critical

  • [duplicate dependency / invalid go.mod] go.mod — The diff introduces multiple duplicate require entries with conflicting versions: hashicorp/hcl/v2 (v2.24.0 vs v2.23.0), theupdateframework/go-tuf/v2 (v2.4.2 vs v2.4.1), alibabacloud-go/tea-utils/v2 (v2.0.9 vs v2.0.6), cenkalti/backoff/v6 (duplicated identically), golang-jwt/jwt/v5 (v5.3.1 vs v5.3.0), go.yaml.in/yaml/v3 (duplicated identically). Go tooling does not allow duplicate module paths and will fail to parse this file.
    Remediation: Remove duplicate entries, keeping only one version per module path.

  • [duplicate dependency / invalid go.mod] tools/go.mod — Same duplicate patterns: bombsimon/wsl/v5 (v5.8.0 vs v5.6.0), cenkalti/backoff/v6 duplicated, alibabacloud-go/tea-utils/v2 duplicated, go-tuf/v2 duplicated, hashicorp/hcl/v2 duplicated, go.yaml.in/yaml/v3 duplicated. All cause go.mod parse failures.
    Remediation: Remove all duplicate module path entries.

  • [duplicate dependency / invalid go.mod] acceptance/go.mod — Duplicate entries: cenkalti/backoff/v6 duplicated, go-tuf/v2 (v2.4.2 vs v2.4.1), go.yaml.in/yaml/v3 duplicated.
    Remediation: Remove duplicate entries.

  • [duplicate dependency / invalid go.mod] tools/kubectl/go.mod — Duplicate go.yaml.in/yaml/v3 v3.0.4 entries after changing yaml/v2 to yaml/v3 without removing the existing yaml/v3 line.
    Remediation: Remove the duplicate line.

  • [import path mismatch / build failure] go.mod:8 — The diff changes github.com/MakeNowJust/heredoc v1.0.0 to heredoc/v2 v2.0.1, but 19 .go source files import "github.com/MakeNowJust/heredoc" (without /v2). In Go modules, major version bumps change the import path, so the code will fail to compile.
    Remediation: Either revert the heredoc version bump, or update all 19 .go files to import "github.com/MakeNowJust/heredoc/v2".

  • [import path mismatch / build failure] acceptance/go.mod:38 — The diff changes gopkg.in/go-jose/go-jose.v2 to go-jose.v4, but acceptance/image/image.go imports "gopkg.in/go-jose/go-jose.v2/json". Build failure.
    Remediation: Either revert the go-jose version bump, or update the import in acceptance/image/image.go to v4.

  • [import path mismatch / build failure] tools/go.mod:14 — The diff changes helm.sh/helm/v3 to helm/v4, but tools/tools.go imports "helm.sh/helm/v3/cmd/helm". Build failure.
    Remediation: Either revert the helm version bump, or update tools/tools.go import to helm/v4.

High

  • [missing go.sum update] go.mod — The PR changes multiple go.mod files with major version bumps but includes no go.sum file updates. go mod tidy must be run in each module directory after fixing go.mod issues.
    Remediation: Run go mod tidy in each module directory and commit the updated go.sum files.

Info

  • [sub-agent-failure] N/A — The style-conventions sub-agent did not return findings: model unavailable.

  • [sub-agent-failure] N/A — The intent-coherence sub-agent did not return findings: model unavailable.

Previous run (12)

Review

Findings

Critical

  • [build-breakage] go.mod:8 — The PR bumps github.com/MakeNowJust/heredoc from v1.0.0 to heredoc/v2 v2.0.1, but no .go source files are updated. 19 Go files import github.com/MakeNowJust/heredoc (v1 path). In Go modules, a v1-to-v2 major bump changes the import path to github.com/MakeNowJust/heredoc/v2. The build will fail.
    Remediation: Either update all 19 .go files to import heredoc/v2 and adapt to API changes, or do not bump this dependency.

  • [build-breakage] go.mod:32 — The PR bumps github.com/santhosh-tekuri/jsonschema/v5 to jsonschema/v6 v6.0.2, but no .go source files are updated. Three files (pkg/schema/schema.go, internal/policy/policy.go, internal/evaluation_target/application_snapshot_image/application_snapshot_image.go) import jsonschema/v5. The import path must change to jsonschema/v6, and jsonschema v6 has breaking API changes.
    Remediation: Either update all 3 .go files to import jsonschema/v6 and adapt API calls, or do not bump this dependency.

  • [build-breakage] tools/go.mod:14 — The PR bumps helm.sh/helm/v3 to helm/v4 v4.2.1, but tools/tools.go line 29 still imports helm.sh/helm/v3/cmd/helm. The import path must change to helm.sh/helm/v4/cmd/helm.
    Remediation: Either update tools/tools.go to import helm.sh/helm/v4/cmd/helm, or do not bump Helm.

High

  • [missing-go-sum] go.mod — The PR modifies 4 go.mod files but includes no go.sum file changes. Any go.mod change requires corresponding go.sum updates with cryptographic hashes. Without them, go mod verify and builds will fail.
    Remediation: Run go mod tidy in each module directory to regenerate go.sum files.

  • [major-version-scope] go.mod, acceptance/go.mod, tools/go.mod, tools/kubectl/go.mod — The PR performs ~50 major version bumps across all go.mod files without accompanying source code changes, tests, or documentation. In Go, major version bumps change import paths and require source code migration. This appears to be an auto-generated Renovate PR that was not validated with a build.

Medium

  • [duplicate-dependencies] go.mod — The PR creates duplicate dependency entries by replacing multiple old major versions with the same new version. For example: cenkalti/backoff/v4 and backoff/v5 are both replaced with backoff/v6, creating two v6 lines. Similarly for go-tuf/v2, hcl/v2, yaml/v3, tea-utils/v2, and wsl/v5. These duplicates will cause go mod tidy errors.

Low

  • [deprecated-crypto-library] acceptance/go.mod:38acceptance/go.mod still directly depends on gopkg.in/go-jose/go-jose.v2 v2.6.3. This library is deprecated upstream in favor of go-jose/v4 (already used elsewhere as indirect). While v2.6.3 has fixes for known CVEs, it will not receive future security patches.

  • [logic-error] go.mod — ~50 major version bumps with zero .go source file changes. Run go build ./... and go test ./... in each module directory to identify all compilation failures.

  • [monorepo-coherence] Multiple go.mod files — Version inconsistencies across modules after the update. Different modules pin different versions of the same transitive dependencies.

Info

  • [authorization-inference] No linked issue. Authorization inferred from the mechanical nature of the change (Renovate bot dependency update).

  • [dependency-upgrade] go.mod:230golang-jwt/jwt/v4 v4.5.2 remains as an indirect dependency. Not EOL; contains all known security fixes.

  • [dependency-upgrade] tools/go.mod:175containerd v1.7.29 remains in tools/go.mod while go.mod moved to v2.

  • [dependency-upgrade] tools/go.mod:473sigstore/cosign/v2 remains in tools/go.mod while other modules moved to v3.

fullsend-ai-review[bot]

This comment was marked as outdated.

@red-hat-konflux
red-hat-konflux Bot force-pushed the konflux/mintmaker/main-main/major-go-modules branch from cbd1b47 to cf1d784 Compare June 23, 2026 03:24
@fullsend-ai-review

fullsend-ai-review Bot commented Jun 23, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 3:27 AM UTC · Completed 3:39 AM UTC
Commit: 47d3320 · View workflow run →

fullsend-ai-review[bot]

This comment was marked as outdated.

@red-hat-konflux
red-hat-konflux Bot force-pushed the konflux/mintmaker/main-main/major-go-modules branch from cf1d784 to 5f3e70e Compare July 1, 2026 02:20
@fullsend-ai-review

fullsend-ai-review Bot commented Jul 1, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 2:22 AM UTC · Completed 2:35 AM UTC
Commit: 47d3320 · View workflow run →

fullsend-ai-review[bot]

This comment was marked as outdated.

@red-hat-konflux
red-hat-konflux Bot force-pushed the konflux/mintmaker/main-main/major-go-modules branch from 5f3e70e to 408d259 Compare July 3, 2026 02:17
@fullsend-ai-review

fullsend-ai-review Bot commented Jul 3, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 2:20 AM UTC · Completed 2:30 AM UTC
Commit: 47d3320 · View workflow run →

fullsend-ai-review[bot]

This comment was marked as outdated.

@red-hat-konflux
red-hat-konflux Bot force-pushed the konflux/mintmaker/main-main/major-go-modules branch from 408d259 to ff96088 Compare July 5, 2026 02:15
@fullsend-ai-review

fullsend-ai-review Bot commented Jul 5, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 2:18 AM UTC · Completed 2:27 AM UTC
Commit: 47d3320 · View workflow run →

fullsend-ai-review[bot]

This comment was marked as outdated.

@red-hat-konflux
red-hat-konflux Bot force-pushed the konflux/mintmaker/main-main/major-go-modules branch from ff96088 to a9f4e2e Compare July 13, 2026 02:11
@fullsend-ai-review

fullsend-ai-review Bot commented Jul 13, 2026

Copy link
Copy Markdown

🤖 Finished Review · ❌ Failure · Started 2:12 AM UTC · Completed 2:23 AM UTC
Commit: 87c4a29 · View workflow run →

@red-hat-konflux
red-hat-konflux Bot force-pushed the konflux/mintmaker/main-main/major-go-modules branch from a9f4e2e to 4ce4253 Compare July 14, 2026 02:17
@fullsend-ai-review

fullsend-ai-review Bot commented Jul 14, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 2:18 AM UTC · Completed 2:24 AM UTC
Commit: 87c4a29 · View workflow run →

fullsend-ai-review[bot]

This comment was marked as outdated.

@red-hat-konflux
red-hat-konflux Bot force-pushed the konflux/mintmaker/main-main/major-go-modules branch from 4ce4253 to aee77d5 Compare July 19, 2026 02:15
@fullsend-ai-review

fullsend-ai-review Bot commented Jul 19, 2026

Copy link
Copy Markdown

🤖 Review · ⚠️ Cancelled · Started 2:16 AM UTC · Ended 2:17 AM UTC
Commit: 87c4a29 · View workflow run →

@red-hat-konflux
red-hat-konflux Bot force-pushed the konflux/mintmaker/main-main/major-go-modules branch 2 times, most recently from 0758d72 to 22652cc Compare July 19, 2026 02:17
@fullsend-ai-review

fullsend-ai-review Bot commented Jul 19, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 2:18 AM UTC · Completed 2:25 AM UTC
Commit: 87c4a29 · View workflow run →

fullsend-ai-review[bot]

This comment was marked as outdated.

@red-hat-konflux
red-hat-konflux Bot force-pushed the konflux/mintmaker/main-main/major-go-modules branch from 22652cc to 2951435 Compare July 20, 2026 03:51
@fullsend-ai-review

fullsend-ai-review Bot commented Jul 20, 2026

Copy link
Copy Markdown

🤖 Finished Review · ❌ Failure · Started 3:52 AM UTC · Completed 4:07 AM UTC
Commit: 87c4a29 · View workflow run →

@red-hat-konflux
red-hat-konflux Bot force-pushed the konflux/mintmaker/main-main/major-go-modules branch from 2951435 to 81a516d Compare July 22, 2026 02:12
@fullsend-ai-review

fullsend-ai-review Bot commented Jul 22, 2026

Copy link
Copy Markdown

🤖 Finished Review · ❌ Failure · Started 2:13 AM UTC · Completed 2:31 AM UTC
Commit: 87c4a29 · View workflow run →

@red-hat-konflux
red-hat-konflux Bot force-pushed the konflux/mintmaker/main-main/major-go-modules branch from 81a516d to 28e26b8 Compare July 26, 2026 02:29
@fullsend-ai-review

fullsend-ai-review Bot commented Jul 26, 2026

Copy link
Copy Markdown

🤖 Finished Review · ❌ Failure · Started 2:30 AM UTC · Completed 2:45 AM UTC
Commit: 87c4a29 · View workflow run →

@red-hat-konflux
red-hat-konflux Bot force-pushed the konflux/mintmaker/main-main/major-go-modules branch from 28e26b8 to db80c3e Compare August 9, 2026 02:45
@fullsend-ai-review

fullsend-ai-review Bot commented Aug 9, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 2:46 AM UTC · Completed 3:01 AM UTC

Commit: 87c4a29 · View workflow run →

fullsend-ai-review[bot]

This comment was marked as outdated.

@fullsend-ai-review fullsend-ai-review Bot added dependencies Pull requests that update a dependency file go Pull requests that update Go code labels Aug 9, 2026
Signed-off-by: red-hat-konflux <126015336+red-hat-konflux[bot]@users.noreply.github.com>
@red-hat-konflux
red-hat-konflux Bot force-pushed the konflux/mintmaker/main-main/major-go-modules branch from db80c3e to 199d62b Compare September 12, 2026 03:55
@red-hat-konflux
red-hat-konflux Bot requested a review from a team as a code owner September 12, 2026 03:55
@coderabbitai

coderabbitai Bot commented Sep 12, 2026

Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: cec279a4-791a-44f2-8918-f0a5caeca0ec

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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

@github-actions github-actions Bot added size: XL and removed size: L labels Sep 12, 2026
@fullsend-ai-review

fullsend-ai-review Bot commented Sep 12, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 3:56 AM UTC · Completed 4:08 AM UTC

Commit: cd01138 · View workflow run →

Runtime: claude · Model: opus → claude-opus-4-7 · Effort: high · Cost: $6.15

@fullsend-ai-review fullsend-ai-review Bot 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.

Note: The following review comments could not be posted on the diff (GitHub returned 422) and are included here instead:

  • internal/policy/policy.go (file-level): Line 641 · [critical] api-contract

Call site still uses v5-only helper jsonschema.CompileString('schema.json', ecc.Schema), but the module is bumped to santhosh-tekuri/jsonschema/v6. CompileString was removed in v6 (Compiler.AddResource + Compile flow required). This file will not compile.

Suggested fix: Rewrite the call using v6 API: jsonschema.NewCompiler(), AddResource(url, io.Reader), then Compile(url). Audit every other jsonschema.* reference in the repo for v6 compatibility.

  • acceptance/go.mod (file-level): Line 10 · [high] api-contract

'gopkg.in/go-jose/go-jose.v2 v2.6.3' -> 'gopkg.in/go-jose/go-jose.v4 v4.1.5'. v3 and v4 fixed multiple decryption/verification issues (CVE-2024-28180 and PBES2 iteration-limit / header-validation changes). Skipping v3 and jumping v2 -> v4 without diffing call sites means historic patterns relying on v2 permissive defaults (no AlgorithmVerifier, no PBES2 iteration cap) will either fail to compile or silently change what tokens are accepted. This is in the acceptance/ test module, so incorrect wiring can MASK verification regressions in the SUT.

Suggested fix: Port acceptance-suite call sites (see critical finding on acceptance/image/image.go:60) to the v4 explicit-algorithm-allowlist API and re-run the acceptance suite. Assert that any test that expects a bad token to be rejected still rejects it.

  • pkg/schema/schema.go (file-level): Line 41 · [medium] api-contract

With jsonschema/v6 now required, this file still uses v5-shaped Compiler flow ('jsonschema.NewCompiler()'). v6 method signatures differ (AddResource takes (url, io.Reader); Compile returns a different error type). Verify each method on v6's Compiler; the rest of this file may fail to compile.

Suggested fix: Audit pkg/schema/schema.go end-to-end against the v6 API and update call sites.

  • internal/evaluation_target/application_snapshot_image/application_snapshot_image.go (file-level): Line 374 · [medium] api-contract

File is imported as jsonschema/v6 but still type-asserts on '*jsonschema.ValidationError' (v5's struct). v6 restructured the validation-error type (fields differ, helpers renamed). Verify the assertion, the 'jsonschema.Schema' map, and any Compile callers still compile under v6.

Suggested fix: Audit all jsonschema.* references in this file against the v6 API and adjust as needed.

@fullsend-ai-review fullsend-ai-review Bot 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.

See the review comment for full details.


"cuelang.org/go/pkg/time"
"github.com/jstemmer/go-junit-report/v2/junit"
"github.com/jstemmer/go-junit-report/v2/v2/junit"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[critical] correctness

Import path corrupted to 'github.com/jstemmer/go-junit-report/v2/v2/junit' (doubled '/v2/v2/'). Correct v2 path is 'github.com/jstemmer/go-junit-report/v2/junit'. Package will not compile.

Suggested fix: Restore the import to 'github.com/jstemmer/go-junit-report/v2/junit' (single '/v2/'). Fix the identical corruption at internal/applicationsnapshot/junit_test.go:24. Add a lint rule (e.g. golangci-lint importas) rejecting /vN/vN/ patterns.

"testing"

"github.com/jstemmer/go-junit-report/v2/junit"
"github.com/jstemmer/go-junit-report/v2/v2/junit"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[critical] correctness

Same doubled-version import path 'github.com/jstemmer/go-junit-report/v2/v2/junit' as in junit.go. Package will not compile.

Suggested fix: Restore to 'github.com/jstemmer/go-junit-report/v2/junit'.

Comment thread tools/kubectl/go.mod
module github.com/conforma/cli/tools/kubectl

go 1.26.7
go 1.27

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[low] correctness

Sibling modules stay at 'go 1.26.7'; this file jumps to 'go 1.27'. If the target toolchain image does not yet support 1.27, GOTOOLCHAIN=auto will silently download an unintended toolchain. Confirm the intent and either align with siblings or add an explicit 'toolchain' directive documenting why.

Suggested fix: Align the 'go' directive with the other modules, or add an explicit 'toolchain' line and document why kubectl needs the newer minor.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file go Pull requests that update Go code main major renovate size: XL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants