Skip to content

Inconsistent YAML libraries #2502

Description

@vdobler

After updating oapi-codegen and the runtime with

go get -u github.com/oapi-codegen/runtime github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen
go: upgraded github.com/dprotaso/go-yit v0.0.0-20220510233725-9ba8df137936 => v0.0.0-20260623150633-6f1ed93922d1
go: upgraded github.com/getkin/kin-openapi v0.133.0 => v0.145.0
go: upgraded github.com/go-openapi/jsonpointer v0.21.0 => v1.0.0
go: added github.com/go-openapi/swag/jsonname v0.27.3
go: upgraded github.com/oapi-codegen/oapi-codegen/v2 v2.5.1 => v2.8.0
go: upgraded github.com/oapi-codegen/runtime v1.4.1 => v1.6.0
go: upgraded github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037 => v0.1.1
go: upgraded github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90 => v0.0.14
go: added github.com/santhosh-tekuri/jsonschema/v6 v6.0.2
go: upgraded github.com/speakeasy-api/jsonpath v0.6.0 => v0.6.3
go: added github.com/speakeasy-api/openapi v1.24.0
go: added go.yaml.in/yaml/v3 v3.0.5
go: added go.yaml.in/yaml/v4 v4.0.0-rc.6
go: upgraded golang.org/x/crypto v0.53.0 => v0.54.0
go: upgraded golang.org/x/mod v0.37.0 => v0.38.0
go: upgraded golang.org/x/net v0.56.0 => v0.57.0
go: upgraded golang.org/x/sys v0.46.0 => v0.47.0
go: upgraded golang.org/x/tools v0.47.0 => v0.48.0

running oapi-codegen failed:

go tool github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen -config cfg.yaml ./openapi_v1.yaml
# github.com/vmware-labs/yaml-jsonpath/pkg/yamlpath
../../../../../pkg/mod/github.com/vmware-labs/yaml-jsonpath@v0.3.2/pkg/yamlpath/path.go:29:9: cannot use p.f(node, root).ToArray() (value of type []*"go.yaml.in/yaml/v4".Node) as []*"gopkg.in/yaml.v3".Node value in return statement
../../../../../pkg/mod/github.com/vmware-labs/yaml-jsonpath@v0.3.2/pkg/yamlpath/path.go:57:32: cannot use node (variable of type *"gopkg.in/yaml.v3".Node) as *"go.yaml.in/yaml/v4".Node value in argument to yit.FromNode
../../../../../pkg/mod/github.com/vmware-labs/yaml-jsonpath@v0.3.2/pkg/yamlpath/path.go:70:33: cannot use node (variable of type *"gopkg.in/yaml.v3".Node) as *"go.yaml.in/yaml/v4".Node value in argument to yit.FromNode
../../../../../pkg/mod/github.com/vmware-labs/yaml-jsonpath@v0.3.2/pkg/yamlpath/path.go:75:33: cannot use node (variable of type *"gopkg.in/yaml.v3".Node) as *"go.yaml.in/yaml/v4".Node value in argument to yit.FromNode
../../../../../pkg/mod/github.com/vmware-labs/yaml-jsonpath@v0.3.2/pkg/yamlpath/path.go:80:33: cannot use node (variable of type *"gopkg.in/yaml.v3".Node) as *"go.yaml.in/yaml/v4".Node value in argument to yit.FromNode
../../../../../pkg/mod/github.com/vmware-labs/yaml-jsonpath@v0.3.2/pkg/yamlpath/path.go:190:22: cannot use node (variable of type *"gopkg.in/yaml.v3".Node) as *"go.yaml.in/yaml/v4".Node value in argument to yit.FromNode
../../../../../pkg/mod/github.com/vmware-labs/yaml-jsonpath@v0.3.2/pkg/yamlpath/path.go:200:25: cannot use a (variable of type *"go.yaml.in/yaml/v4".Node) as *"gopkg.in/yaml.v3".Node value in argument to p.f
../../../../../pkg/mod/github.com/vmware-labs/yaml-jsonpath@v0.3.2/pkg/yamlpath/path.go:218:33: cannot use node.Content[i] (variable of type *"gopkg.in/yaml.v3".Node) as *"go.yaml.in/yaml/v4".Node value in argument to yit.FromNode
../../../../../pkg/mod/github.com/vmware-labs/yaml-jsonpath@v0.3.2/pkg/yamlpath/path.go:236:37: cannot use node.Content[i] (variable of type *"gopkg.in/yaml.v3".Node) as *"go.yaml.in/yaml/v4".Node value in argument to yit.FromNode
../../../../../pkg/mod/github.com/vmware-labs/yaml-jsonpath@v0.3.2/pkg/yamlpath/path.go:252:44: cannot use n (variable of type *"gopkg.in/yaml.v3".Node) as *"go.yaml.in/yaml/v4".Node value in argument to yit.FromNode
../../../../../pkg/mod/github.com/vmware-labs/yaml-jsonpath@v0.3.2/pkg/yamlpath/path.go:252:44: too many errors
server/api.go:3: running "go": exit status 1

Here the relevant parts of go.mod (after go mod tidy):

go 1.26.4

tool github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen

require (
	github.com/oapi-codegen/runtime v1.4.1
)

require (
	github.com/apapsch/go-jsonmerge/v2 v2.0.0 // indirect
	github.com/getkin/kin-openapi v0.133.0 // indirect
	github.com/go-openapi/jsonpointer v0.21.0 // indirect
	github.com/go-openapi/swag v0.23.0 // indirect
	github.com/oapi-codegen/oapi-codegen/v2 v2.5.1 // indirect
	github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037 // indirect
	github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90 // indirect
	github.com/speakeasy-api/jsonpath v0.6.0 // indirect
	github.com/speakeasy-api/openapi-overlay v0.10.2 // indirect
	github.com/spiffe/go-spiffe/v2 v2.6.0 // indirect
	github.com/vmware-labs/yaml-jsonpath v0.3.2 // indirect
	go.yaml.in/yaml/v2 v2.4.4 // indirect
	gopkg.in/yaml.v2 v2.4.0 // indirect
	gopkg.in/yaml.v3 v3.0.1 // indirect
)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions