Skip to content

chore(deps): bump github.com/onsi/gomega from 1.38.2 to 1.44.0 - #6231

Merged
cheyang merged 1 commit into
masterfrom
dependabot/go_modules/github.com/onsi/gomega-1.44.0
Nov 12, 2026
Merged

cheyang merged 1 commit into
masterfrom
dependabot/go_modules/github.com/onsi/gomega-1.44.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Bumps github.com/onsi/gomega from 1.38.2 to 1.44.0.

Release notes

Sourced from github.com/onsi/gomega's releases.

v1.44.0

Fixes

  • BeNumerically compares signed and unsigned integers by value: -1 no longer equals uint64(math.MaxUint64) and uint(5) is now greater than -3 (#925) [26e3c6b]
  • BeNumerically("~") no longer overflows when computing the distance between extreme integers (#928) [1955764]
  • BeNumerically("==", x, threshold) now honors the threshold for floats, as it already did for integers (#927) [10e2aca]
  • HaveKeyWithValue succeeds if any key accepted by the key matcher has a matching value, rather than depending on map iteration order (#929) [ffc577a]
  • HaveKey and HaveKeyWithValue treat key and value matcher errors like ContainElement does: a match wins, and an error is only reported when nothing matches (#926) [dc91598]
  • MatchJSON no longer treats numbers too large for a float64 as equal to one another (#930) [9d619a5]
  • MatchJSON compares integers beyond ±2^53 exactly, so neighboring large integers (e.g. IDs) no longer match; all other numbers are still compared as float64s (#931) [8ef1aa7, 630fe12]
  • HaveExactElements reports missing or extra elements that start at index 0, and reports the first extra element's index rather than the last (#934) [af1b777]
  • MatchYAML compares every document in a multi-document stream rather than only the first; empty documents (e.g. a leading or trailing ---) are ignored (#933) [2773796]
  • MatchXML ignores namespace prefixes: elements and attributes are compared by namespace URI, and the URIs declared on each element must match whatever prefix they are bound to (#932) [c0dbd89, 2565350]

v1.43.1

Maintenance

  • Update go.yaml.in/yaml/v3 to v3.0.5 [d547015]
  • Releases are now cut by a GitHub Actions workflow (Actions -> Release -> Run workflow) rather than by hand, with changelog entries collected under ## Unreleased as the work happens. Releases still ship the stripped-down tree on master-lite - tests removed and Ginkgo dropped from go.mod - and the workflow now builds it and checks it on every push. See RELEASING.md. [e9dc84d]

v1.43.0

1.43.0

Features

Add gomock adaptor extension for using Gomega matchers with gomock

v1.42.1

1.42.1

Bump Dependencies

v1.42.0

1.42.0

Add a set of Claude skill as a marketplace plugin

v1.41.0

No release notes provided.

v1.40.0

1.40.0

We're adopting a new release strategy to minimize dependency bloat in projects that consume Gomega. It is a limitation of the go mod toolchain that test subdependencies of your project's direct dependencies get pulled in as indirect dependencies. In the case of Gomega, this ends up pulling in all of Ginkgo into your go.mod even if you are only using Gomega (Gomega uses Ginkgo for its own tests).

Going forward, releases will strip out all tests, tidy up the go.mod and then push this stripped down version to a new master-lite branch. These stripped-down versions will receive the vx.y.z git tag and will be picked up by the go toolchain.

Please open an issue if this new release process causes unexpected changes for your projects.

v1.39.1

1.39.1

... (truncated)

Changelog

Sourced from github.com/onsi/gomega's changelog.

1.44.0

Fixes

  • BeNumerically compares signed and unsigned integers by value: -1 no longer equals uint64(math.MaxUint64) and uint(5) is now greater than -3 (#925) [26e3c6b]
  • BeNumerically("~") no longer overflows when computing the distance between extreme integers (#928) [1955764]
  • BeNumerically("==", x, threshold) now honors the threshold for floats, as it already did for integers (#927) [10e2aca]
  • HaveKeyWithValue succeeds if any key accepted by the key matcher has a matching value, rather than depending on map iteration order (#929) [ffc577a]
  • HaveKey and HaveKeyWithValue treat key and value matcher errors like ContainElement does: a match wins, and an error is only reported when nothing matches (#926) [dc91598]
  • MatchJSON no longer treats numbers too large for a float64 as equal to one another (#930) [9d619a5]
  • MatchJSON compares integers beyond ±2^53 exactly, so neighboring large integers (e.g. IDs) no longer match; all other numbers are still compared as float64s (#931) [8ef1aa7, 630fe12]
  • HaveExactElements reports missing or extra elements that start at index 0, and reports the first extra element's index rather than the last (#934) [af1b777]
  • MatchYAML compares every document in a multi-document stream rather than only the first; empty documents (e.g. a leading or trailing ---) are ignored (#933) [2773796]
  • MatchXML ignores namespace prefixes: elements and attributes are compared by namespace URI, and the URIs declared on each element must match whatever prefix they are bound to (#932) [c0dbd89, 2565350]

1.43.1

Maintenance

  • Update go.yaml.in/yaml/v3 to v3.0.5 [d547015]
  • Releases are now cut by a GitHub Actions workflow (Actions -> Release -> Run workflow) rather than by hand, with changelog entries collected under ## Unreleased as the work happens. Releases still ship the stripped-down tree on master-lite - tests removed and Ginkgo dropped from go.mod - and the workflow now builds it and checks it on every push. See RELEASING.md. [e9dc84d]

1.43.0

Features

Add gomock adaptor extension for using Gomega matchers with gomock

1.42.1

Bump Dependencies

1.42.0

Add a set of Claude skill as a marketplace plugin

1.41.0

Features

Add BeASlice and BeAnArray matchers

Fixes

Object formatting now detects pointer cycles to avoid runaway formatting output.

1.40.0

We're adopting a new release strategy to minimize dependency bloat in projects that consume Gomega. It is a limitation of the go mod toolchain that test subdependencies of your project's direct dependencies get pulled in as indirect dependencies. In the case of Gomega, this ends up pulling in all of Ginkgo into your go.mod even if you are only using Gomega (Gomega uses Ginkgo for its own tests).

Going forward, releases will strip out all tests, tidy up the go.mod and then push this stripped down version to a new master-lite branch. These stripped-down versions will receive the vx.y.z git tag and will be picked up by the go toolchain.

... (truncated)

Commits
  • c933817 v1.44.0
  • 37fa900 v1.44.0 (full)
  • 509f2b0 changelog: entries for Build docker image #925-#934
  • 2565350 fix: MatchXML compares namespace declarations by URI, ignoring the prefix
  • 630fe12 fix: MatchJSON only compares integers beyond 2^53 exactly
  • c0dbd89 fix: MatchXML ignores namespace prefixes and declarations
  • 2773796 fix: MatchYAML compares every document in a multi-document stream
  • af1b777 fix: HaveExactElements reports missing/extra elements starting at index 0
  • 8ef1aa7 fix: MatchJSON compares numbers exactly
  • 9d619a5 fix: MatchJSON reports numbers that do not fit in a float64
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file go Pull requests that update Go code labels Nov 6, 2026
@fluid-e2e-bot

fluid-e2e-bot Bot commented Nov 6, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign cheyang for approval by writing /assign @cheyang in a comment. For more information see:The Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found 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

@fluid-e2e-bot

fluid-e2e-bot Bot commented Nov 6, 2026

Copy link
Copy Markdown

Hi @dependabot[bot]. Thanks for your PR.

I'm waiting for a fluid-cloudnative member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 Needs a closer look

The visited map incorrectly marks repeated pointers and pointers to a struct’s first field as cycles, hiding valid values in assertion diagnostics.

No open issues 🎉

What changed in this PR

Updates Fluid’s Gomega assertion dependency from 1.38.2 to 1.44.0, including its vendored implementation and the accompanying YAML dependency update.

Changes:

  • Updates dependency versions, checksums, and vendor metadata.
  • Imports upstream matcher fixes, new matchers, and formatting changes.
  • Refreshes vendored documentation and comment formatting.
File Description
vendor/​modules.txt Records updated versions and Gomega’s Go requirement.
vendor/​go.yaml.in/​yaml/​v3/​yamlh.go Reformats handler documentation only.
vendor/​go.yaml.in/​yaml/​v3/​parserc.go Reformats parser grammar comments only.
vendor/​github.com/​onsi/​gomega/​types/​types.go Documents assertion descriptions.
vendor/​github.com/​onsi/​gomega/​RELEASING.md Updates upstream release instructions.
vendor/​github.com/​onsi/​gomega/​README.md Refreshes badges and plugin documentation.
vendor/​github.com/​onsi/​gomega/​matchers/​type_support.go Adds exact integer conversion support.
vendor/​github.com/​onsi/​gomega/​matchers/​support/​goraph/​edge/​edge.go Uses slices.Contains for edge lookup.
vendor/​github.com/​onsi/​gomega/​matchers/​match_yaml_matcher.go Compares multi-document YAML streams.
vendor/​github.com/​onsi/​gomega/​matchers/​match_xml_matcher.go Normalizes namespace declarations.
vendor/​github.com/​onsi/​gomega/​matchers/​match_json_matcher.go Preserves exact large-number comparisons.
vendor/​github.com/​onsi/​gomega/​matchers/​match_error_strictly_matcher.go Adds strict error matching with errors.Is.
vendor/​github.com/​onsi/​gomega/​matchers/​have_key_with_value_matcher.go Searches entries until a key/value pair matches.
vendor/​github.com/​onsi/​gomega/​matchers/​have_key_matcher.go Allows matching keys despite other matcher errors.
vendor/​github.com/​onsi/​gomega/​matchers/​have_exact_elements.go Corrects missing and extra element diagnostics.
vendor/​github.com/​onsi/​gomega/​matchers/​be_numerically_matcher.go Fixes integer comparisons and threshold handling.
vendor/​github.com/​onsi/​gomega/​matchers/​be_an_array_matcher.go Adds array-type matching.
vendor/​github.com/​onsi/​gomega/​matchers/​be_a_slice_matcher.go Adds slice-type matching.
vendor/​github.com/​onsi/​gomega/​matchers/​attributes_slice.go Orders XML attributes by name, namespace, and value.
vendor/​github.com/​onsi/​gomega/​matchers.go Exposes new matchers and updates API documentation.
vendor/​github.com/​onsi/​gomega/​gomega_dsl.go Updates the Gomega version constant.
vendor/​github.com/​onsi/​gomega/​format/​format.go Adds pointer-cycle detection and adjusts string formatting.
vendor/​github.com/​onsi/​gomega/​CHANGELOG.md Includes upstream release history.
vendor/​github.com/​onsi/​gomega/​.gitignore Ignores upstream release artifacts.
go.sum Updates Gomega and YAML checksums.
go.mod Updates Gomega and indirect YAML requirements.

Review effort: Balanced

@cheyang cheyang left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Verified the gomega 1.38.2 → 1.44.0 bump (plus go.yaml.in/yaml/v3 3.0.4 → 3.0.5) from two independent harnesses and found nothing this PR introduces. The diff is exactly the two version pins; the vendored trees are byte-identical to the checksum-verified upstream modules and re-vendor cleanly; gomega is still imported only by test files (no runtime blast radius); and the build, vet, and the full CI-equivalent unit suite pass at the head. We also pinned the upstream semantic changes directly: none of fluid's matcher call sites (HaveKey/HaveKeyWithValue on literal keys, plain same-type BeNumerically, zero MatchJSON/MatchYAML/MatchXML/HaveExactElements) can be affected, and contract tests confirm the bump actually took effect — they fail on 1.38.2 and pass on 1.44.0. The controller packages that CI's unittest job excludes were swept locally with envtest: everything passes except two suites that have been dead since 2023 (ginkgo decorator bugs, failing identically on the base commit), so they are pre-existing, not caused by this bump. Those three follow-ups are parked in the appendix below with suggested tracking issues. Copilot also reviewed this head and raised no findings. No disagreement between the two reviewers survived cross-critique — the only corrections exchanged were fact-checks (the go directive is 1.26.0, not 1.25.0; the BeNumerically count is 44), neither affecting a verdict.

Next round

[MUST] none — no PR-introduced blocker or major; every merge-checklist criterion passes at head b4c8873.
[SHOULD] file follow-up tracking issues for the three pre-existing items in the appendix (alluxio and dataprocess ginkgo suites never boot; make test excludes controller packages from unit CI) instead of fixing them in this bump.
[SHOULD] optionally lift the gomega matcher-semantics contract tests from the verification branches as a downgrade guard (nit, ignore at will).
[Filed] none opened during this round.

Non-blocking observations (4) — not part of this round's ask; fix now, follow up, or file an issue as you see fit
  • pkg/controllers/v1alpha1/alluxio/suite_test.go:51 [minor] — pre-existing, not introduced by this PR — alluxio controller ginkgo suite never runs (NodeTimeout decorator without a context-accepting callback)
    BeforeSuite(NodeTimeout(60*time.Second), func(){...}) passes a timeout decorator whose callback does not accept a SpecContext/context.Context, so ginkgo v2 aborts the whole alluxio controller suite at boot: "[BeforeSuite] was passed NodeTimeout, SpecTimeout, or GracePeriod but does not have a callback that accepts a SpecContext or context.Context". The suite has been dead since it was written; CI never notices because make test excludes every controller package (see F-CONTROLLER-CI-BLINDSPOT). Fix: drop the decorator or give the callback a ctx SpecContext parameter. Pre-existing (fails identically on base); found independently by both reviewers (Claude F1 / Codex F2) and confirmed in both cross-critiques — suggest a tracking issue rather than holding this bump.
  • pkg/controllers/v1alpha1/dataprocess/suite_test.go:75 [minor] — pre-existing, not introduced by this PR — dataprocess controller ginkgo suite never runs (stray '60' decorator)
    BeforeSuite(func(){...}, 60) passes a bare 60 as a ginkgo decorator ("[BeforeSuite] node was passed an unknown decorator: '60'"), a ginkgo-v1-style timeout argument left over from before the v2 migration, so the whole dataprocess controller suite aborts before any spec runs. Traced to commit 3c723c4 (2023-07-25, PR #3345) via git log -S '}, 60)' — the file was born broken (~3.4 years of dead suite). Invisible to CI for the same controller-exclusion reason as F-ALLUXIO-SUITE-BROKEN. Fix: delete ', 60' or use NodeTimeout with a SpecContext callback. Pre-existing (fails identically on base); found independently by both reviewers (Claude F2 / Codex F1) and confirmed in both cross-critiques — suggest a tracking issue.
  • .github/workflows/project-check.yml:112 [minor] — pre-existing, not introduced by this PR — CI unittest excludes every controller package, leaving test-framework bumps uncovered there
    The unittest job runs make test, whose package list is 'go list ./... | grep -v controller | grep -v e2etest'. Every controller package — including the tree's heaviest ginkgo/gomega consumers under pkg/controllers/** — is compiled by vet but never executed in unit CI. That is exactly the blind spot that let the two dead suites above rot since 2023, and it means a test-framework bump like this PR lands with its main blast radius uncovered by the unittest job (kind-e2e does exercise the deployed controllers, and is green). The exclusion is documented intent (Makefile comments: controller tests need k8s), so this is a coverage-widening request, not an oversight. Fix sketch: run the bootable suites with envtest assets in CI, or at minimum a go test -run=NONE compile+BeforeSuite smoke over ./pkg/controllers/.... Found independently by both reviewers (Claude F3 / Codex F3) and confirmed in both cross-critiques; both reviewers closed the gap locally with envtest and found only the two pre-existing failures. Not blocking this PR.
  • pkg/gomegacontract/gomega_semantics_test.go:36 [nit] — pre-existing, not introduced by this PR — Optionally adopt the matcher-semantics contract tests upstream
    The Claude verification branch carries a small contract suite pinning the post-1.44 matcher semantics (all 7 subtests fail on gomega 1.38.2 and pass on 1.44.0), and the Codex branch carries an equivalent delta harness that pins the intended #925 signed/unsigned semantics while passing fluid-pattern contracts on both versions. If you ever want a guard against accidental gomega downgrades or future matcher regressions, either is ready to lift as-is; otherwise ignore.
Verified review delta
  • F-ALLUXIO-SUITE-BROKEN: open (preexisting)
  • F-DATAPROCESS-SUITE-BROKEN: open (preexisting)
  • F-CONTROLLER-CI-BLINDSPOT: open (preexisting)
  • O-GOMEGA-CONTRACT-TESTS: open (unknown)

Code: clear. CI: success; attribution: baseline. Required CI checks still apply.

@cheyang

cheyang commented Nov 12, 2026

Copy link
Copy Markdown
Collaborator

@dependabot rebase

Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.38.2 to 1.44.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.38.2...v1.44.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  dependency-version: 1.44.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/go_modules/github.com/onsi/gomega-1.44.0 branch from b4c8873 to 07e6b9e Compare November 12, 2026 04:07
@sonarqubecloud

Copy link
Copy Markdown

@cheyang cheyang left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Re-checked after the rebase onto #6230: the delta is now only the gomega 1.38.2 -> 1.44.0 pin (the go.yaml.in/yaml/v3 3.0.5 bump already landed with #6230), and the vendored gomega tree is byte-identical to the previously reviewed head b4c8873. Full CI, including unittest and both e2e matrices, is green on this head.

@cheyang
cheyang merged commit 46813fb into master Nov 12, 2026
21 checks passed
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 needs-ok-to-test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants