chore: bump github.com/meshery/schemas to v1.3.20 - #1045
Conversation
go-openapi/swag/loading v0.25.4 pins go-openapi/testify/enable/yaml/v2 v2.0.2, which imports go-openapi/testify/v2/assert/yaml. That package only exists in testify/v2 v2.0.x; it was removed in v2.1.2+. Any dependency bump that raises the selected testify/v2 above v2.0.2 (e.g. via go-openapi/swag/jsonname v0.25.5) makes go mod tidy fail: module github.com/go-openapi/testify/v2@latest found (v2.6.0), but does not contain package github.com/go-openapi/testify/v2/assert/yaml swag/loading v0.25.5 requires enable/yaml/v2 v2.4.0, which imports testify/v2/enable/stubs/yaml instead, so the module graph stays consistent. Also prunes stale go.sum entries left by earlier bumps. Signed-off-by: Lee Calcote <lee.calcote@layer5.io>
Apply the dependency bump that the schemas notify-dependents workflow attempted for the v1.3.20 release. Includes the transitive upgrades pulled in by go get and go mod tidy. Signed-off-by: Lee Calcote <lee.calcote@layer5.io>
There was a problem hiding this comment.
Code Review
This pull request updates several Go dependencies in go.mod and go.sum, including upgrading github.com/getkin/kin-openapi, github.com/meshery/schemas, golang.org/x/sync, golang.org/x/text, google.golang.org/api, and gorm.io/gorm, alongside various indirect dependencies. Some unused indirect dependencies have also been removed. There are no review comments, and I have no additional feedback to provide.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Symptom
The automated schemas dependency-bump workflow (notify-dependents for the meshery/schemas v1.3.20 release) failed during
go mod tidywith:Root cause
Upstream ecosystem breakage in the go-openapi module family, unrelated to the schemas release content:
github.com/go-openapi/swag/loadingv0.25.4 (an indirect dep viak8s.io/kube-openapi) pinsgithub.com/go-openapi/testify/enable/yaml/v2v2.0.2 in its go.mod.enable/yaml/v2v2.0.2 importsgithub.com/go-openapi/testify/v2/assert/yaml. That package exists only in testify/v2 v2.0.x; it was deleted in v2.1.2+ (replaced bytestify/v2/enable/stubs/yaml).go get github.com/meshery/schemas@v1.3.20transitively raisesgo-openapi/swag/jsonnameto v0.25.5, which raises the MVS-selectedtestify/v2above v2.0.2 - whileenable/yaml/v2stays at v2.0.2. The selectedenable/yaml/v2then imports a package no selected (or latest)testify/v2provides, andgo mod tidycannot converge.On master (schemas v1.3.17),
go mod tidystill converged before this PR - the whole go-openapi group was pinned at the mutually consistent v2.0.2/v0.25.4 set. The breakage is latent: any dependency bump that raises the selected testify/v2 (this schemas bump, or any other upgrade touching the go-openapi group) trips it. Master's committed go.sum did carry a few stale entries (e.g. go-git v5.16.4) that tidy prunes; those are cleaned up here too.Fix
Two commits:
fix: bump go-openapi/swag/loading to v0.25.5 so go mod tidy converges- raisesgo-openapi/swag/loadingv0.25.4 -> v0.25.5 (pullingconv/jsonutils/typeutils/yamlutilsto v0.25.5 with it). swag/loading v0.25.5 requiresenable/yaml/v2v2.4.0, which importstestify/v2/enable/stubs/yamlinstead of the removedassert/yaml, restoring a consistent module graph. This is the minimal correct fix: no replace directives (meshkit is a library), no pin of testify/v2 (no tagged v2.1.2+ version containsassert/yaml, so a pin cannot work), and only a patch-level move within the v0.25.x swag line rather than jumping to swag v0.26/v0.27.chore: bump github.com/meshery/schemas to v1.3.20- the bump the workflow attempted, plus the transitive upgradesgo get/go mod tidyproduce.Verification
go mod tidyconverges and is idempotent (second run is a no-op)go build ./...passesgo vet ./utils/...passesRelated but distinct: #963 / #1043 track a separate
docker/docker/apivsmoby/moby/apimodule-path tidy failure; this PR does not touch that.