Skip to content

Conversation

@razo7
Copy link
Member

@razo7 razo7 commented Oct 20, 2025

Why we need this PR

Update NMO tools and versions

Changes made

  • Update only ontroller_gen, ginkgo, goImports, opm, sort-imports, yq and envtest k8s tools (others require more changes and time, e.g., operator-sdk and KUSTOMIZE)
  • Update Golang version (1.23.0 -> 1.24.4), dependencies, and controller-runtime in go.mod, and Ginkgo v2.22.0 ->2.26.0
  • Update modules after running make go-verify
  • Apply controller-gen changes

Which issue(s) this PR fixes

Test plan

Summary by CodeRabbit

Release Notes

  • Chores
    • Updated Go toolchain from 1.23 to 1.24
    • Updated CI/OpenShift base image to Go 1.24 and OpenShift 4.20
    • Updated Kubernetes API and client libraries to v0.34.1
    • Updated controller-runtime to v0.19.7
    • Updated build tooling versions (controller-gen, ginkgo, OPM, and related tools)
    • Refreshed vendored dependencies with latest security and stability patches

razo7 added 4 commits October 20, 2025 17:23
controller_gen, ginkgo, goImports, opm, sort-imports, yq and envtest k8s
Update Golang, Ginkgo, and other APIs with newer versions
Update module depedencices
Update config and bundle directories
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Oct 20, 2025

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Oct 20, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: razo7

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@coderabbitai
Copy link

coderabbitai bot commented Oct 20, 2025

Walkthrough

The pull request updates the project's Go toolchain from 1.23 to 1.24, bumps numerous tool and dependency versions in build configuration and go.mod, adds several new vendor packages (including semver libraries and CBOR support), and updates existing vendored dependencies with enhanced functionality.

Changes

Cohort / File(s) Summary
Build Configuration Updates
.ci-operator.yaml, Makefile
Updated CI release image from rhel-9-release-golang-1.23-openshift-4.19 to 1.24-openshift-4.20; bumped tool versions (controller-gen, envtest, goimports, ginkgo, opm, go, kubernetes, etc.) to latest releases.
Go Module and Dependency Upgrades
go.mod
Bumped Go toolchain to 1.24.4; updated core k8s, logr, ginkgo, and other dependencies to v0.34.1+/v2.26.0+/v1.27.0+; revised indirect dependency tree with new additions (Masterminds/semver/v3, updated versions for prometheus, protobuf, and golang.org/x packages).
CRD Metadata Updates
bundle/manifests/nodemaintenance.medik8s.io_nodemaintenances.yaml, config/crd/bases/nodemaintenance.medik8s.io_nodemaintenances.yaml
Updated Kubebuilder controller-gen annotation from v0.14.0 to v0.19.0 in both CRD manifests.
New Semver Libraries
vendor/github.com/Masterminds/semver/v3/\*, vendor/github.com/blang/semver/v4/\*
Added complete semantic versioning implementations; Masterminds/v3 provides Version type with parsing, constraints, and sorting; blang/v4 provides alternative Range-based API with JSON/SQL integration. Both include documentation, changelogs, and configuration files.
go-restful/v3 Enhancements
vendor/github.com/emicklei/go-restful/v3/\*
Added Flush method to CompressingResponseWriter; refactored route scoring with regex improvements; removed jsoniter build tag support; updated documentation and error handling.
fsnotify Updates
vendor/github.com/fsnotify/fsnotify/\*
Added NewBufferedWatcher and AddWith APIs for buffered event channels; introduced NewBufferedWatcher across all backends (FEN, inotify, kqueue, windows, other); updated platform support documentation and added error types (ErrClosed, ErrEventOverflow).
xxhash/v2 Enhancements
vendor/github.com/cespare/xxhash/v2/\*
Added NewWithSeed and ResetWithSeed methods to Digest for custom seed support; updated documentation to clarify zero-seed usage.
CBOR Encoding/Decoding
vendor/github.com/fxamacker/cbor/v2/\*
Added comprehensive CBOR implementation with encoding (EncMode, EncOptions, multiple canonicalization modes), decoding (DecMode), streaming (Encoder/Decoder), diagnostics (DiagMode), and type handling (tags, struct fields, caching). Includes extensive configuration, error types, and validation.
JSON Patch Internals
vendor/github.com/evanphx/json-patch/v5/internal/json/\*
Added internal JSON encoder/decoder (encode.go, decode.go), streaming (stream.go), and utilities (scanner.go, indent.go, fold.go, tables.go); enabled custom marshaling interfaces and detailed error reporting.
xxhash and Other Minor Vendor Updates
vendor/github.com/Azure/go-ansiterm/SECURITY.md, vendor/github.com/exponent-io/jsonpath/, vendor/github.com/fxamacker/cbor/v2/
Added security policies, updated CI configurations, and added documentation for various vendor packages.

Sequence Diagram(s)

sequenceDiagram
    participant Build as Build System
    participant Go as Go 1.24 Toolchain
    participant Tools as Tool Binaries
    participant Deps as Dependencies
    
    Build->>Go: Request build with 1.24
    Build->>Tools: Fetch updated versions (controller-gen v0.19.0, ginkgo v2.26.0, etc.)
    Tools-->>Build: Tool binaries ready
    Build->>Deps: Resolve go.mod dependencies
    Deps-->>Build: k8s v0.34.1, logr v1.4.3, etc.
    Build->>Build: Compile with new CRD annotations (v0.19.0)
    Build-->>Build: Build artifacts generated
Loading
sequenceDiagram
    participant App as Application
    participant fsnotify as fsnotify.Watcher
    participant Buffer as Events Channel (Buffered)
    
    App->>fsnotify: NewBufferedWatcher(bufferSize)
    fsnotify->>Buffer: Create buffered channel
    Buffer-->>fsnotify: Channel ready
    fsnotify-->>App: Watcher initialized
    
    loop File System Events
        fsnotify->>Buffer: Send event (non-blocking)
        Buffer-->>App: App receives event from channel
    end
    
    App->>fsnotify: Close()
    fsnotify->>Buffer: Close channel safely
    Buffer-->>fsnotify: Channel closed
Loading

Estimated Code Review Effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Rationale: The diff encompasses substantial changes across multiple dimensions—Go 1.24 toolchain migration, significant dependency updates, multiple new vendor packages with dense logic (CBOR, JSON internals, semver implementations), and refactored APIs (fsnotify, go-restful). While many changes are homogeneous (version bumps), the new vendor packages contain intricate encoding/decoding and reflection-based logic requiring careful review for correctness, performance, and compatibility with existing code paths.

Poem

🐰 With Go 1.24 we leap and bound,
New semver and CBOR logic we found,
Buffered watchers now catch every change,
Dependencies refreshed across the range,
The vendor garden grows ever more grand! 🌱

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 54.37% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The pull request title "Update NMO tool versions" is clearly related to the primary changes in the changeset. The raw summary shows extensive tool version updates across multiple files: CONTROLLER_GEN_VERSION (v0.14.0 → v0.19.0), GINKGO_VERSION (v2.22.0 → v2.26.0), GOIMPORTS_VERSION, OPM_VERSION, SORT_IMPORTS_VERSION, OCP_VERSION, and YQ_VERSION in the Makefile, along with updates to the base image tags in the CI configuration. While the PR also includes Go version updates (1.23 → 1.24) and extensive dependency updates in go.mod and vendor directories, the title captures the primary intent and main observable changes. The title is concise, clear, and specific enough that a developer would understand this changeset is focused on updating tooling versions.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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 and usage tips.

@razo7
Copy link
Member Author

razo7 commented Oct 20, 2025

/test 4.20-openshift-e2e

1 similar comment
@razo7
Copy link
Member Author

razo7 commented Oct 21, 2025

/test 4.20-openshift-e2e

@slintes
Copy link
Member

slintes commented Oct 22, 2025

/lgtm

@openshift-ci openshift-ci bot added the lgtm label Oct 22, 2025
@razo7 razo7 marked this pull request as ready for review October 22, 2025 11:13
@openshift-ci openshift-ci bot requested review from mshitrit and slintes October 22, 2025 11:14
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 12

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (4)
vendor/github.com/fsnotify/fsnotify/backend_windows.go (2)

200-208: Bug: sendError drains the quit channel and loses the close handshake.

Mirror sendEvent behavior by re-enqueueing the token.

 func (w *Watcher) sendError(err error) bool {
     select {
     case w.Errors <- err:
         return true
-    case <-w.quit:
+    case ch := <-w.quit:
+        w.quit <- ch
     }
     return false
 }

689-701: Bug: wrong buffer size used on ERROR_MORE_DATA.

unsafe.Sizeof(watch.buf) returns the slice header size, not the byte length. Use len().

-                n = uint32(unsafe.Sizeof(watch.buf))
+                n = uint32(len(watch.buf))
vendor/github.com/evanphx/json-patch/v5/patch.go (1)

1019-1022: Incorrect error context string in replace().

Message says "remove" instead of "replace".

-    return errors.Wrapf(err, "error in remove for path: '%s'", path)
+    return errors.Wrapf(err, "error in replace for path: '%s'", path)
vendor/github.com/emicklei/go-restful/v3/curly.go (1)

144-181: Let me check if the main repository has any tests that might be affected by this change:Based on my complete analysis of the codebase and go-restful library, the review comment is legitimate and identifies a real bug:

Apply suggested fix to computeWebserviceScore to fail early on regex mismatch; add tests for overlapping WebServices with regex-distinguished paths.

The issue is inconsistent regex handling between two functions:

  • matchesRouteByPathTokens fails early when regex doesn't match (return false, 0, 0), but
  • computeWebserviceScore ignores regex mismatches and continues scoring without early failure

This creates a bug where multiple WebServices sharing a path prefix but with different regex filters on parameters can result in wrong WebService selection. The go-restful library supports regex constraints in path parameters like /persons/{name:[A-Z][A-Z]}, but computeWebserviceScore doesn't properly reject non-matching regexes.

Apply the suggested diff, ensuring regex mismatch returns false immediately rather than continuing with reduced score. This aligns the logic with the Route-level matching behavior. No existing tests in the vendored package will break (none exist there), but add tests to the repository covering WebServices with overlapping paths differentiated only by regex constraints.

🧹 Nitpick comments (24)
vendor/github.com/fsnotify/fsnotify/backend_windows.go (1)

485-493: Inconsistent recursion handling.

addWatch currently forces recurse=false (commented recursivePath), but remWatch parses “...”. Either fully disable recursion consistently (reject at add/remove) or implement it end-to-end.

-    //pathname, recurse := recursivePath(pathname)
-    recurse := false
+    pathname, recurse := recursivePath(pathname)

If recursion isn’t supported, validate at AddWith and return a clear error when “...” is provided.

Also applies to: 540-560

vendor/github.com/fsnotify/fsnotify/backend_fen.go (4)

153-160: Avoid blocking on Errors: make the error channel buffered.

Unbuffered Errors can block the reader goroutine if clients briefly lag. A small buffer (e.g., 1) improves resilience without changing semantics.

 func NewBufferedWatcher(sz uint) (*Watcher, error) {
   w := &Watcher{
     Events:  make(chan Event, sz),
-    Errors:  make(chan error),
+    Errors:  make(chan error, 1),
     dirs:    make(map[string]struct{}),
     watches: make(map[string]struct{}),
     done:    make(chan struct{}),
   }

421-427: Defensive guard for Cookie type assertion to prevent panic.

If unix.EventPort ever delivers a Cookie of unexpected type, this panics. Cheap guard achieves safety with identical behavior for invalid/missing cookies.

-func (w *Watcher) handleEvent(event *unix.PortEvent) error {
-  var (
-    events     = event.Events
-    path       = event.Path
-    fmode      = event.Cookie.(os.FileMode)
-    reRegister = true
-  )
+func (w *Watcher) handleEvent(event *unix.PortEvent) error {
+  var (
+    events     = event.Events
+    path       = event.Path
+    fmode      os.FileMode
+    reRegister = true
+  )
+  if m, ok := event.Cookie.(os.FileMode); ok {
+    fmode = m
+  }

310-344: Gracefully handle Remove when the path is already gone.

If os.Stat fails with ENOENT, prefer dissociating (best‑effort) and returning nil rather than surfacing an error.

   stat, err := os.Stat(name)
   if err != nil {
-    return err
+    if errors.Is(err, os.ErrNotExist) {
+      _ = w.port.DissociatePath(name)
+      return nil
+    }
+    return err
   }

546-576: Minor: avoid variable shadowing and only emit Create on successful association.

Improves readability and prevents emitting Create when associateFile failed.

- for _, entry := range files {
-   path := filepath.Join(path, entry.Name())
-   if w.port.PathIsWatched(path) {
+ for _, entry := range files {
+   child := filepath.Join(path, entry.Name())
+   if w.port.PathIsWatched(child) {
      continue
    }
-   finfo, err := entry.Info()
+   finfo, err := entry.Info()
    if err != nil {
      return err
    }
-   err = w.associateFile(path, finfo, false)
+   err = w.associateFile(child, finfo, false)
    if err != nil {
      if !w.sendError(err) {
        return nil
      }
+     continue
    }
-   if !w.sendEvent(path, Create) {
+   if !w.sendEvent(child, Create) {
      return nil
    }
  }
vendor/github.com/evanphx/json-patch/v5/merge.go (1)

91-104: Array “prune” keeps nils by design—confirm intent.

pruneAryNulls walks elements and recurses but keeps nils (appends v regardless). If the intent is to retain array nulls (spec-compliant), this is fine. If “prune” should drop them, filter before append.

vendor/github.com/evanphx/json-patch/v5/patch.go (2)

1287-1289: Check json.Indent error.

Return the indenting error instead of ignoring it.

-    var buf bytes.Buffer
-    json.Indent(&buf, data, "", indent)
-    return buf.Bytes(), nil
+    var buf bytes.Buffer
+    if err := json.Indent(&buf, data, "", indent); err != nil {
+        return nil, err
+    }
+    return buf.Bytes(), nil

927-931: Improve unsupported-op error detail.

Include the op name to aid troubleshooting.

-    return fmt.Errorf("unsupported operation")
+    return fmt.Errorf("unsupported operation: %q", op.Kind())
vendor/github.com/blang/semver/v4/sql.go (1)

9-18: Optional: accept/normalize common DB inputs

Consider trimming whitespace and a clearer NULL message for friendlier UX. Safe, no behavior change for valid inputs.

 import (
     "database/sql/driver"
     "fmt"
+    "strings"
 )
@@
-    switch src := src.(type) {
+    switch src := src.(type) {
     case string:
-        str = src
+        str = strings.TrimSpace(src)
     case []byte:
-        str = string(src)
+        str = strings.TrimSpace(string(src))
     default:
-        return fmt.Errorf("version.Scan: cannot convert %T to string", src)
+        if src == nil {
+            return fmt.Errorf("version.Scan: cannot scan NULL into Version")
+        }
+        return fmt.Errorf("version.Scan: cannot convert %T to string", src)
     }
vendor/github.com/blang/semver/v4/range.go (2)

363-370: Don’t ignore errors from increment helpers in wildcard expansion

incrementMinorVersion/incrementMajorVersion can error (malformed parts). Propagate instead of discarding with _.

-                if shouldIncrementVersion {
-                    switch versionWildcardType {
-                    case patchWildcard:
-                        resultVersion, _ = incrementMinorVersion(flatVersion)
-                    case minorWildcard:
-                        resultVersion, _ = incrementMajorVersion(flatVersion)
-                    }
-                } else {
+                if shouldIncrementVersion {
+                    switch versionWildcardType {
+                    case patchWildcard:
+                        rv, err := incrementMinorVersion(flatVersion)
+                        if err != nil { return nil, err }
+                        resultVersion = rv
+                    case minorWildcard:
+                        rv, err := incrementMajorVersion(flatVersion)
+                        if err != nil { return nil, err }
+                        resultVersion = rv
+                    }
+                } else {
                     resultVersion = flatVersion
                 }

19-30: Style nit: exported-like helper name

wildcardTypefromIntwildcardTypeFromInt improves readability and matches Go casing.

vendor/github.com/blang/semver/v4/semver.go (1)

464-476: Minor duplication: two “FinalizeVersion” APIs

You expose both a method and a free function with the same name. It’s fine, but consider consolidating or documenting usage to avoid confusion.

vendor/github.com/go-logr/zapr/README.md (2)

5-7: Grammar nit (optional):

“Can also be used as slog handler.” → “Can also be used as a slog.Handler.”


39-62: Fix markdown lint nits in Via slog block (optional).

  • Add language to fenced block (MD040).
  • Replace hard tabs with spaces (MD010).

Example patch:

-```
+```go
-package main
+package main
@@
-	import (
-		"fmt"
-		"log/slog"
-
-		"github.com/go-logr/logr/slogr"
-		"github.com/go-logr/zapr"
-		"go.uber.org/zap"
-	)
+import (
+  "fmt"
+  "log/slog"
+  "github.com/go-logr/logr/slogr"
+  "github.com/go-logr/zapr"
+  "go.uber.org/zap"
+)
@@
-	log = slog.New(slogr.NewSlogHandler(zapr.NewLogger(zapLog)))
+  log = slog.New(slogr.NewSlogHandler(zapr.NewLogger(zapLog)))

If you care about docs linting in-tree, run a markdown linter locally to confirm the README passes.

vendor/github.com/Masterminds/semver/v3/constraints.go (1)

200-226: Optional: keep operator set minimal to reduce ambiguity.

Both >=/=> and <=/=< are accepted. Consider normalizing to canonical forms during parse to simplify error messages.

vendor/github.com/Masterminds/semver/v3/CHANGELOG.md (1)

20-24: Docs nits: spelling and term consistency

Mixed “pre-release”/“prerelease” and a typo “appliaction”. Recommend normalizing to “prerelease” and fixing spelling to keep docs polished. No code impact.

Also applies to: 170-178

vendor/github.com/Masterminds/semver/v3/README.md (1)

20-21: README nits

Minor typos (“fo”→“of”, “patters”→“patterns”) and inconsistent “prerelease” vs “pre-release”. Optional cleanup; leave vendor content aligned with upstream.

Also applies to: 109-111, 146-176

Makefile (1)

26-26: Update stale comment about YQ version compatibility.

Line 26 states "v4.42.1 is the latest supporting go 1.20", but this PR updates to v4.48.1. This comment is now outdated and should be updated or removed to reflect the new version.

Update or remove the comment:

- # NOTE: v4.42.1 is the latest supporting go 1.20
+ # NOTE: Updated to v4.48.1, which supports Go 1.24
vendor/github.com/fxamacker/cbor/v2/diagnose.go (1)

476-487: Prefer AvailableBuffer for clarity and fewer copies.

The Grow+Bytes reslice+Write pattern is correct but hard to read. With Go ≥1.20, bytes.Buffer.AvailableBuffer simplifies this and avoids an extra temporary:

- di.w.WriteString("\\u")
- var in [2]byte
- in[0] = byte(val >> 8)
- in[1] = byte(val)
- sz := hex.EncodedLen(len(in))
- di.w.Grow(sz)
- dst := di.w.Bytes()[di.w.Len() : di.w.Len()+sz]
- hex.Encode(dst, in[:])
- di.w.Write(dst)
+ di.w.WriteString("\\u")
+ var in [2]byte
+ in[0], in[1] = byte(val>>8), byte(val)
+ sz := hex.EncodedLen(len(in))
+ buf := di.w.AvailableBuffer()
+ if cap(buf) < sz { di.w.Grow(sz); buf = di.w.AvailableBuffer() }
+ buf = buf[:sz]
+ hex.Encode(buf, in[:])
+ di.w.Write(buf)
vendor/github.com/fxamacker/cbor/v2/cache.go (2)

247-251: Error points to container type; consider pointing to the unsupported field type.

Improves diagnosability when a specific field’s type isn’t encodable.

-    if flds[i].ef == nil {
-      err = &UnsupportedTypeError{t}
+    if flds[i].ef == nil {
+      err = &UnsupportedTypeError{flds[i].typ}
       break
     }

24-28: Global caches are unbounded.

sync.Map-backed type caches can grow without bound in long-lived processes. If practical, expose a way to clear/limit caches or gate by mode.

Can you confirm typical type cardinality at runtime (controllers/resources) so we can assess memory impact?

vendor/github.com/fxamacker/cbor/v2/structfields.go (1)

183-207: Trim tag tokens to make parsing resilient.

Minor robustness: tolerate incidental spaces in struct tags.

-      if idx == -1 {
-        token, tag = tag, ""
-      } else {
-        token, tag = tag[:idx], tag[idx+1:]
-      }
+      if idx == -1 {
+        token, tag = tag, ""
+      } else {
+        token, tag = tag[:idx], tag[idx+1:]
+      }
+      token = strings.TrimSpace(token)
vendor/github.com/fxamacker/cbor/v2/encode_map.go (1)

30-41: Drop unused loop index in kvs==nil path.

i isn’t used; simplify to avoid confusion.

-  if kvs == nil {
-    for i, iter := 0, v.MapRange(); iter.Next(); i++ {
+  if kvs == nil {
+    for iter := v.MapRange(); iter.Next(); {
       iterk.SetIterKey(iter)
       iterv.SetIterValue(iter)
       ...
vendor/github.com/fxamacker/cbor/v2/stream.go (1)

222-227: Doc nit: “array” → “map”.

Fix copy-paste in StartIndefiniteMap comment.

-// StartIndefiniteMap starts array encoding of indefinite length.
+// StartIndefiniteMap starts map encoding of indefinite length.
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9f1d95d and 3e1f408.

⛔ Files ignored due to path filters (8)
  • go.sum is excluded by !**/*.sum
  • vendor/github.com/golang/protobuf/ptypes/any/any.pb.go is excluded by !**/*.pb.go
  • vendor/github.com/golang/protobuf/ptypes/duration/duration.pb.go is excluded by !**/*.pb.go
  • vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go is excluded by !**/*.pb.go
  • vendor/github.com/google/gnostic-models/extensions/extension.pb.go is excluded by !**/*.pb.go
  • vendor/github.com/google/gnostic-models/openapiv2/OpenAPIv2.pb.go is excluded by !**/*.pb.go
  • vendor/github.com/google/gnostic-models/openapiv3/OpenAPIv3.pb.go is excluded by !**/*.pb.go
  • vendor/github.com/google/gnostic-models/openapiv3/annotations.pb.go is excluded by !**/*.pb.go
📒 Files selected for processing (87)
  • .ci-operator.yaml (1 hunks)
  • Makefile (1 hunks)
  • bundle/manifests/nodemaintenance.medik8s.io_nodemaintenances.yaml (1 hunks)
  • config/crd/bases/nodemaintenance.medik8s.io_nodemaintenances.yaml (1 hunks)
  • go.mod (1 hunks)
  • vendor/github.com/Azure/go-ansiterm/SECURITY.md (1 hunks)
  • vendor/github.com/Masterminds/semver/v3/.gitignore (1 hunks)
  • vendor/github.com/Masterminds/semver/v3/.golangci.yml (1 hunks)
  • vendor/github.com/Masterminds/semver/v3/CHANGELOG.md (1 hunks)
  • vendor/github.com/Masterminds/semver/v3/LICENSE.txt (1 hunks)
  • vendor/github.com/Masterminds/semver/v3/Makefile (1 hunks)
  • vendor/github.com/Masterminds/semver/v3/README.md (1 hunks)
  • vendor/github.com/Masterminds/semver/v3/SECURITY.md (1 hunks)
  • vendor/github.com/Masterminds/semver/v3/collection.go (1 hunks)
  • vendor/github.com/Masterminds/semver/v3/constraints.go (1 hunks)
  • vendor/github.com/Masterminds/semver/v3/doc.go (1 hunks)
  • vendor/github.com/Masterminds/semver/v3/version.go (1 hunks)
  • vendor/github.com/blang/semver/v4/LICENSE (1 hunks)
  • vendor/github.com/blang/semver/v4/json.go (1 hunks)
  • vendor/github.com/blang/semver/v4/range.go (1 hunks)
  • vendor/github.com/blang/semver/v4/semver.go (1 hunks)
  • vendor/github.com/blang/semver/v4/sort.go (1 hunks)
  • vendor/github.com/blang/semver/v4/sql.go (1 hunks)
  • vendor/github.com/cespare/xxhash/v2/README.md (1 hunks)
  • vendor/github.com/cespare/xxhash/v2/xxhash.go (2 hunks)
  • vendor/github.com/cespare/xxhash/v2/xxhash_asm.go (1 hunks)
  • vendor/github.com/cespare/xxhash/v2/xxhash_other.go (1 hunks)
  • vendor/github.com/cespare/xxhash/v2/xxhash_safe.go (1 hunks)
  • vendor/github.com/cespare/xxhash/v2/xxhash_unsafe.go (1 hunks)
  • vendor/github.com/emicklei/go-restful/v3/CHANGES.md (1 hunks)
  • vendor/github.com/emicklei/go-restful/v3/README.md (2 hunks)
  • vendor/github.com/emicklei/go-restful/v3/compress.go (1 hunks)
  • vendor/github.com/emicklei/go-restful/v3/curly.go (3 hunks)
  • vendor/github.com/emicklei/go-restful/v3/entity_accessors.go (1 hunks)
  • vendor/github.com/emicklei/go-restful/v3/json.go (0 hunks)
  • vendor/github.com/emicklei/go-restful/v3/jsoniter.go (0 hunks)
  • vendor/github.com/emicklei/go-restful/v3/jsr311.go (3 hunks)
  • vendor/github.com/emicklei/go-restful/v3/route.go (1 hunks)
  • vendor/github.com/evanphx/json-patch/v5/internal/json/decode.go (1 hunks)
  • vendor/github.com/evanphx/json-patch/v5/internal/json/encode.go (1 hunks)
  • vendor/github.com/evanphx/json-patch/v5/internal/json/fold.go (1 hunks)
  • vendor/github.com/evanphx/json-patch/v5/internal/json/fuzz.go (1 hunks)
  • vendor/github.com/evanphx/json-patch/v5/internal/json/indent.go (1 hunks)
  • vendor/github.com/evanphx/json-patch/v5/internal/json/scanner.go (1 hunks)
  • vendor/github.com/evanphx/json-patch/v5/internal/json/stream.go (1 hunks)
  • vendor/github.com/evanphx/json-patch/v5/internal/json/tables.go (1 hunks)
  • vendor/github.com/evanphx/json-patch/v5/internal/json/tags.go (1 hunks)
  • vendor/github.com/evanphx/json-patch/v5/merge.go (10 hunks)
  • vendor/github.com/evanphx/json-patch/v5/patch.go (45 hunks)
  • vendor/github.com/exponent-io/jsonpath/.travis.yml (1 hunks)
  • vendor/github.com/exponent-io/jsonpath/decoder.go (1 hunks)
  • vendor/github.com/fsnotify/fsnotify/.cirrus.yml (1 hunks)
  • vendor/github.com/fsnotify/fsnotify/.gitignore (1 hunks)
  • vendor/github.com/fsnotify/fsnotify/CHANGELOG.md (1 hunks)
  • vendor/github.com/fsnotify/fsnotify/README.md (3 hunks)
  • vendor/github.com/fsnotify/fsnotify/backend_fen.go (7 hunks)
  • vendor/github.com/fsnotify/fsnotify/backend_inotify.go (14 hunks)
  • vendor/github.com/fsnotify/fsnotify/backend_kqueue.go (25 hunks)
  • vendor/github.com/fsnotify/fsnotify/backend_other.go (2 hunks)
  • vendor/github.com/fsnotify/fsnotify/backend_windows.go (23 hunks)
  • vendor/github.com/fsnotify/fsnotify/fsnotify.go (4 hunks)
  • vendor/github.com/fsnotify/fsnotify/mkdoc.zsh (9 hunks)
  • vendor/github.com/fxamacker/cbor/v2/.gitignore (1 hunks)
  • vendor/github.com/fxamacker/cbor/v2/.golangci.yml (1 hunks)
  • vendor/github.com/fxamacker/cbor/v2/CODE_OF_CONDUCT.md (1 hunks)
  • vendor/github.com/fxamacker/cbor/v2/CONTRIBUTING.md (1 hunks)
  • vendor/github.com/fxamacker/cbor/v2/LICENSE (1 hunks)
  • vendor/github.com/fxamacker/cbor/v2/README.md (1 hunks)
  • vendor/github.com/fxamacker/cbor/v2/SECURITY.md (1 hunks)
  • vendor/github.com/fxamacker/cbor/v2/bytestring.go (1 hunks)
  • vendor/github.com/fxamacker/cbor/v2/cache.go (1 hunks)
  • vendor/github.com/fxamacker/cbor/v2/common.go (1 hunks)
  • vendor/github.com/fxamacker/cbor/v2/diagnose.go (1 hunks)
  • vendor/github.com/fxamacker/cbor/v2/doc.go (1 hunks)
  • vendor/github.com/fxamacker/cbor/v2/encode.go (1 hunks)
  • vendor/github.com/fxamacker/cbor/v2/encode_map.go (1 hunks)
  • vendor/github.com/fxamacker/cbor/v2/omitzero_go124.go (1 hunks)
  • vendor/github.com/fxamacker/cbor/v2/omitzero_pre_go124.go (1 hunks)
  • vendor/github.com/fxamacker/cbor/v2/simplevalue.go (1 hunks)
  • vendor/github.com/fxamacker/cbor/v2/stream.go (1 hunks)
  • vendor/github.com/fxamacker/cbor/v2/structfields.go (1 hunks)
  • vendor/github.com/fxamacker/cbor/v2/tag.go (1 hunks)
  • vendor/github.com/fxamacker/cbor/v2/valid.go (1 hunks)
  • vendor/github.com/go-logr/logr/.golangci.yaml (1 hunks)
  • vendor/github.com/go-logr/logr/funcr/funcr.go (2 hunks)
  • vendor/github.com/go-logr/zapr/.golangci.yaml (1 hunks)
  • vendor/github.com/go-logr/zapr/README.md (3 hunks)
💤 Files with no reviewable changes (2)
  • vendor/github.com/emicklei/go-restful/v3/jsoniter.go
  • vendor/github.com/emicklei/go-restful/v3/json.go
🧰 Additional context used
🧬 Code graph analysis (1)
vendor/github.com/go-logr/logr/funcr/funcr.go (1)
vendor/github.com/go-logr/logr/logr.go (1)
  • LogSink (426-453)
🪛 checkmake (0.2.2)
vendor/github.com/Masterminds/semver/v3/Makefile

[warning] 19-19: Missing required phony target "all"

(minphony)


[warning] 19-19: Missing required phony target "clean"

(minphony)

🪛 LanguageTool
vendor/github.com/fxamacker/cbor/v2/CONTRIBUTING.md

[style] ~30-~30: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...you're using a supported version of Go. If you are, then provide the output of `go...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

vendor/github.com/fsnotify/fsnotify/CHANGELOG.md

[style] ~46-~46: To elevate your writing, try using a synonym here.
Context: ...d merely return "short read", making it hard to detect this error. - kqueue: make...

(HARD_TO)


[grammar] ~67-~67: Ensure spelling is correct
Context: ... appengine build tag is set; Google AppEngine forbids usage of the unsafe package so ...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

vendor/github.com/fxamacker/cbor/v2/README.md

[style] ~7-~7: In American English, abbreviations like “etc.” require a period.
Context: ...Averaison+fxamacker%2Fcbor&type=code), [etc](https://github.com/fxamacker/cbor#who-...

(ETC_PERIOD)


[grammar] ~32-~32: Use a hyphen to join words.
Context: ...efault limits allow very fast and memory efficient rejection of malformed CBOR da...

(QB_NEW_EN_HYPHEN)


[grammar] ~276-~276: Use a hyphen to join words.
Context: ...ncurrent use. ### Default Mode Package level functions only use this library's ...

(QB_NEW_EN_HYPHEN)


[style] ~320-~320: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... // FIDO2 CTAP2 Canonical CBOR ``` Presets are used to create custom modes. ### C...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[grammar] ~345-~345: Use a hyphen to join words.
Context: ...tomatically apply struct tags. ### User Specified Buffer for Encoding (v2.7.0) ...

(QB_NEW_EN_HYPHEN)


[style] ~697-~697: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...imitReader` to limit size when decoding very large or indefinite size data. Default limit...

(EN_WEAK_ADJECTIVE)


[grammar] ~697-~697: Use a hyphen to join words.
Context: ...e when decoding very large or indefinite size data. Default limits may need to b...

(QB_NEW_EN_HYPHEN)


[style] ~699-~699: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...ed to be increased for systems handling very large data (e.g. blockchains). DecOptions ...

(EN_WEAK_ADJECTIVE)


[style] ~701-~701: To form a complete sentence, be sure to include a subject.
Context: ... data (e.g. blockchains). DecOptions can be used to modify default limits for `M...

(MISSING_IT_THERE)


[style] ~726-~726: Some style guides suggest that commas should set off the year in a month-day-year date.
Context: ...5.0) was released on Sunday, August 13, 2023 with new features and important bug fix...

(MISSING_COMMA_AFTER_YEAR)


[style] ~836-~836: Consider a more concise word here.
Context: ...l to CBOR's extended generic data model in order to determine duplicate vs distinct map key...

(IN_ORDER_TO_PREMIUM)


[grammar] ~840-~840: Ensure spelling is correct
Context: ...PF` enforces detection and rejection of duplidate map keys. Decoding stops immediately an...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[style] ~870-~870: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...xf6) more closely matches Go's nil. * CBOR map keys with data types not supported ...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~916-~916: Consider using a different adverb to strengthen your wording.
Context: ...n CBOR stream mode, and much more. I'm very grateful to Stefan Tatschner, Yawning A...

(VERY_DEEPLY)

vendor/github.com/Masterminds/semver/v3/CHANGELOG.md

[uncategorized] ~21-~21: Do not mix variants of the same word (‘pre-release’ and ‘prerelease’) within a single text.
Context: ... for faster performance. - #267: Handle pre-releases for an "and" group if one constraint in...

(EN_WORD_COHERENCY)


[uncategorized] ~47-~47: Do not mix variants of the same word (‘pre-release’ and ‘prerelease’) within a single text.
Context: ...hanged - #198: Improved testing around pre-release names - #200: Improved code scanning wi...

(EN_WORD_COHERENCY)


[grammar] ~115-~115: Use a hyphen to join words.
Context: ...o modules for their applications and API breaking changes cause errors which we h...

(QB_NEW_EN_HYPHEN)


[uncategorized] ~157-~157: Do not mix variants of the same word (‘pre-release’ and ‘prerelease’) within a single text.
Context: ...ert for a cli - #71: Update the docs on pre-release comparator handling - #89: Test with ne...

(EN_WORD_COHERENCY)


[uncategorized] ~164-~164: Do not mix variants of the same word (‘pre-release’ and ‘prerelease’) within a single text.
Context: ...nks @ravron) - #70: Fix the handling of pre-releases and the 0.0.0 release edge case - #97: ...

(EN_WORD_COHERENCY)


[grammar] ~173-~173: Ensure spelling is correct
Context: ...the docs to point to vert for a console appliaction - #71: Update the docs on pre-release comp...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[uncategorized] ~174-~174: Do not mix variants of the same word (‘pre-release’ and ‘prerelease’) within a single text.
Context: ...e appliaction - #71: Update the docs on pre-release comparator handling ### Fixed - #70: ...

(EN_WORD_COHERENCY)


[uncategorized] ~178-~178: Do not mix variants of the same word (‘pre-release’ and ‘prerelease’) within a single text.
Context: ... ### Fixed - #70: Fix the handling of pre-releases and the 0.0.0 release edge case ## 1.4...

(EN_WORD_COHERENCY)


[uncategorized] ~184-~184: Do not mix variants of the same word (‘pre-release’ and ‘prerelease’) within a single text.
Context: ...018-04-02) ### Fixed - Fixed #64: Fix pre-release precedence issue (thanks @uudashr) ## ...

(EN_WORD_COHERENCY)


[grammar] ~190-~190: Ensure spelling is correct
Context: ... Update NewVersion to parse ints with a 64bit int size (thanks @zknill) ## 1.3.1 (20...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[grammar] ~207-~207: Use a hyphen to join words.
Context: ...### Fixed - #51: Fix handling of single digit tilde constraint (thanks @dgodd) ...

(QB_NEW_EN_HYPHEN)


[uncategorized] ~223-~223: Do not mix variants of the same word (‘pre-release’ and ‘prerelease’) within a single text.
Context: ...where hyphen range was not working with pre-release parsing. ## Release 1.2.1 (2016-11-28)...

(EN_WORD_COHERENCY)


[uncategorized] ~241-~241: Do not mix variants of the same word (‘pre-release’ and ‘prerelease’) within a single text.
Context: ... #21: Per the SemVer spec (section 9) a pre-release is unstable and might not satisfy the...

(EN_WORD_COHERENCY)


[uncategorized] ~242-~242: Do not mix variants of the same word (‘pre-release’ and ‘prerelease’) within a single text.
Context: ... compatibility. The change here ignores pre-releases on constraint checks (e.g., ~ or ^) w...

(EN_WORD_COHERENCY)


[uncategorized] ~243-~243: Do not mix variants of the same word (‘pre-release’ and ‘prerelease’) within a single text.
Context: ...constraint checks (e.g., ~ or ^) when a pre-release is not part of the constraint. For ex...

(EN_WORD_COHERENCY)

vendor/github.com/fxamacker/cbor/v2/CODE_OF_CONDUCT.md

[style] ~33-~33: Try using a synonym here to strengthen your wording.
Context: ...ind * Trolling, insulting or derogatory comments, and personal or political attacks * Pu...

(COMMENT_REMARK)

vendor/github.com/Masterminds/semver/v3/README.md

[grammar] ~53-~53: Use a hyphen to join words.
Context: ...ed into a valid form. There are package level variables that affect how `NewVers...

(QB_NEW_EN_HYPHEN)


[grammar] ~109-~109: Ensure spelling is correct
Context: ...lications using it have followed similar patters with their versions. Checking a versio...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[grammar] ~132-~132: Use a hyphen to join words.
Context: ...rison string is a list of space or comma separated AND comparisons. These are the...

(QB_NEW_EN_HYPHEN)


[uncategorized] ~146-~146: Do not mix variants of the same word (‘prerelease’ and ‘pre-release’) within a single text.
Context: ...less than or equal to ### Working With Prerelease Versions Pre-releases, for those not f...

(EN_WORD_COHERENCY)


[style] ~148-~148: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ...th them, are used for software releases prior to stable or generally available releases....

(EN_WORDINESS_PREMIUM_PRIOR_TO)


[uncategorized] ~176-~176: Do not mix variants of the same word (‘prerelease’ and ‘pre-release’) within a single text.
Context: ...sethat, when set to true, will return prerelease versions when calls toCheck()andV...

(EN_WORD_COHERENCY)


[uncategorized] ~188-~188: Do not mix variants of the same word (‘prerelease’ and ‘pre-release’) within a single text.
Context: ...ed as a single constraint 1.2.0 with prerelease 1.4.5. ### Wildcards In Comparisons...

(EN_WORD_COHERENCY)


[grammar] ~215-~215: Use a hyphen to join words.
Context: ...t (^) comparison operator is for major level changes once a stable (1.0.0) rele...

(QB_NEW_EN_HYPHEN)


[style] ~216-~216: ‘Prior to’ might be wordy. Consider a shorter alternative.
Context: ... a stable (1.0.0) release has occurred. Prior to a 1.0.0 release the minor versions acts...

(EN_WORDINESS_PREMIUM_PRIOR_TO)


[style] ~261-~261: Consider using a different verb to strengthen your wording.
Context: ... than 1.4" } ``` ## Contribute If you find an issue or want to contribute please f...

(FIND_ENCOUNTER)

vendor/github.com/go-logr/zapr/README.md

[style] ~5-~5: To form a complete sentence, be sure to include a subject.
Context: ... Zap. Can also be used as [slog](https://pkg.go.d...

(MISSING_IT_THERE)


[grammar] ~106-~106: Ensure spelling is correct
Context: ...just passes parameters through to zapr. zapr handles special slog values (Group, Log...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

vendor/github.com/fsnotify/fsnotify/README.md

[style] ~116-~116: Consider using a synonym to be more concise.
Context: ...hmod events? Some programs may generate a lot of attribute changes; for example Spotligh...

(A_LOT_OF)

🪛 markdownlint-cli2 (0.18.1)
vendor/github.com/fxamacker/cbor/v2/CONTRIBUTING.md

9-9: Bare URL used

(MD034, no-bare-urls)

vendor/github.com/fsnotify/fsnotify/CHANGELOG.md

3-3: Heading style
Expected: atx; Actual: setext

(MD003, heading-style)


7-7: Heading style
Expected: atx; Actual: setext

(MD003, heading-style)


79-79: Link and image reference definitions should be needed
Unused link or image reference definition: "#537"

(MD053, link-image-reference-definitions)


83-83: Heading style
Expected: atx; Actual: setext

(MD003, heading-style)

vendor/github.com/fxamacker/cbor/v2/CODE_OF_CONDUCT.md

12-12: Images should have alternate text (alt text)

(MD045, no-alt-text)


31-31: Link text should be descriptive

(MD059, descriptive-link-text)


70-70: Code block style
Expected: indented; Actual: fenced

(MD046, code-block-style)


94-94: Bare URL used

(MD034, no-bare-urls)


115-115: Code block style
Expected: indented; Actual: fenced

(MD046, code-block-style)

vendor/github.com/Masterminds/semver/v3/README.md

130-130: Bare URL used

(MD034, no-bare-urls)


203-203: Bare URL used

(MD034, no-bare-urls)

vendor/github.com/go-logr/zapr/README.md

39-39: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


43-43: Hard tabs
Column: 1

(MD010, no-hard-tabs)


44-44: Hard tabs
Column: 1

(MD010, no-hard-tabs)


46-46: Hard tabs
Column: 1

(MD010, no-hard-tabs)


47-47: Hard tabs
Column: 1

(MD010, no-hard-tabs)


48-48: Hard tabs
Column: 1

(MD010, no-hard-tabs)


52-52: Hard tabs
Column: 1

(MD010, no-hard-tabs)


54-54: Hard tabs
Column: 1

(MD010, no-hard-tabs)


55-55: Hard tabs
Column: 1

(MD010, no-hard-tabs)


56-56: Hard tabs
Column: 1

(MD010, no-hard-tabs)


57-57: Hard tabs
Column: 1

(MD010, no-hard-tabs)


58-58: Hard tabs
Column: 1

(MD010, no-hard-tabs)


60-60: Hard tabs
Column: 1

(MD010, no-hard-tabs)

@razo7
Copy link
Member Author

razo7 commented Oct 22, 2025

/retest

1 similar comment
@razo7
Copy link
Member Author

razo7 commented Oct 23, 2025

/retest

@razo7
Copy link
Member Author

razo7 commented Oct 23, 2025

e2e test failed before reaching the e2e code (and before installing the operator - openshift-e2e-e2e-install-operator). Therefore, let's try again

/retest

@razo7
Copy link
Member Author

razo7 commented Oct 23, 2025

/retest

@openshift-merge-bot openshift-merge-bot bot merged commit 0c14ae8 into medik8s:main Oct 23, 2025
25 of 26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants