build(deps): bump github.com/docker/docker from 25.0.0-beta.1+incompatible to 25.0.0-beta.2+incompatible#11268
Conversation
Bumps [github.com/docker/docker](https://github.com/docker/docker) from 25.0.0-beta.1+incompatible to 25.0.0-beta.2+incompatible. - [Release notes](https://github.com/docker/docker/releases) - [Commits](moby/moby@v25.0.0-beta.1...v25.0.0-beta.2) --- updated-dependencies: - dependency-name: github.com/docker/docker dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
|
OTEL Strikes again; As docker/docker does not use a |
|
there's also an issue with mockgen to require a go.mod in dependencies (IIUC) otherwise it assumes go 1.16 and reject use of |
|
Interesting; trying to find where it gets the 1.16 from. There's 2 go.mod files in There are some (indirect) dependencies that use go1.16, but not sure how that would affect things here. git grep 1\\.16 -- ':(exclude)*.md' ':(exclude)*.svg' ':(exclude)*.yml'
docs/generate/go.mod:go 1.16
e2e/global/cli_test.go:// Prior to go1.16, https:// schemes would use HTTPS_PROXY, and any other
man/go.mod:go 1.16
vendor/github.com/go-logr/stdr/stdr.go: // Go's log.Default() is only available in 1.16 and higher.
vendor/github.com/klauspost/compress/s2sx.mod:go 1.16
vendor/golang.org/x/net/idna/tables12.0.0.go://go:build go1.14 && !go1.16
vendor/golang.org/x/net/idna/tables12.0.0.go:// +build go1.14,!go1.16
vendor/golang.org/x/net/idna/tables13.0.0.go://go:build go1.16 && !go1.21
vendor/golang.org/x/net/idna/tables13.0.0.go:// +build go1.16,!go1.21
vendor/golang.org/x/net/idna/trie12.0.0.go://go:build !go1.16
vendor/golang.org/x/net/idna/trie12.0.0.go:// +build !go1.16
vendor/golang.org/x/net/idna/trie13.0.0.go://go:build go1.16
vendor/golang.org/x/net/idna/trie13.0.0.go:// +build go1.16
vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go://go:build go1.14 && !go1.16
vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go:// +build go1.14,!go1.16
vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go://go:build go1.16 && !go1.21
vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go:// +build go1.16,!go1.21
vendor/golang.org/x/text/unicode/norm/tables12.0.0.go://go:build go1.14 && !go1.16
vendor/golang.org/x/text/unicode/norm/tables12.0.0.go:// +build go1.14,!go1.16
vendor/golang.org/x/text/unicode/norm/tables13.0.0.go://go:build go1.16 && !go1.21
vendor/golang.org/x/text/unicode/norm/tables13.0.0.go:// +build go1.16,!go1.21
vendor/golang.org/x/text/width/tables12.0.0.go://go:build go1.14 && !go1.16
vendor/golang.org/x/text/width/tables12.0.0.go:// +build go1.14,!go1.16
vendor/golang.org/x/text/width/tables13.0.0.go://go:build go1.16 && !go1.21
vendor/golang.org/x/text/width/tables13.0.0.go:// +build go1.16,!go1.21
vendor/golang.org/x/tools/go/packages/golist.go: // below 1.16. Otherwise, go list handles it.
vendor/golang.org/x/tools/go/packages/golist.go: // For Go versions 1.16 and above, `go list` accepts overlays directly via
vendor/golang.org/x/tools/go/packages/packages.go: // Should we assert a hard minimum of (currently) go1.16 here?
vendor/golang.org/x/tools/go/packages/packages.go:var _ interface{} = io.Discard // assert build toolchain is go1.16 or later
vendor/golang.org/x/tools/internal/tokeninternal/tokeninternal.go: // This type remained essentially consistent from go1.16 to go1.21.
vendor/golang.org/x/tools/internal/typesinternal/types.go:// generated by Go version 1.16 and later: the error code, start position, and
vendor/modules.txt:## explicit; go 1.16
vendor/modules.txt:## explicit; go 1.16
vendor/modules.txt:## explicit; go 1.16
vendor/modules.txt:## explicit; go 1.16
vendor/modules.txt:## explicit; go 1.16
vendor/modules.txt:## explicit; go 1.16 |
|
Tried a hack using a local working copy to generate mocks, still can't get CI to run as golangci-lint has the same issue: |
|
I'm sorry to conclude docker/cli would be unusable by third-party projects since it adopted go 1.18 generic types, until it also adopt go modules 😰 |
|
(hope this is just about docker/cli@0e73168 and this doesn't have more impacts) |
|
Could it be Looks like that has a |
|
Doh! Didn't see your comment (browser cache);
|
|
Capturing a Slack conversation from the maintainers channel with Cory;
So (my interpretation):
Cory also found that there's an escape-hatch; https://go.dev/doc/toolchain#:~:text=The%20go%20line%20for,file%20to%20Go%201.22.
So adding I was curious WHY DOWNGRADE? Because the Go 1.0 compatibility promise should guarantee compatibility; new versions may add new functionality, but those changes should always be "additive"; any existing feature should continue to work! So when building with go1.21, why not build with that language version? (The reverse I understand; if the main module would use And the reason for that seems to be https://go.googlesource.com/proposal/+/master/design/56986-godebug.md Which, if I understand correctly, describes (again, my interpretation);
(And to do those fixes automatically .. downgrading language versions will set implicit I'm curious how that works though; wondering if things like Windows switching "resolver" will now disable |
|
Concluding;
To fix:
|
|
Looks like github.com/docker/docker is up-to-date now, so this is no longer needed. |
Bumps github.com/docker/docker from 25.0.0-beta.1+incompatible to 25.0.0-beta.2+incompatible.
Release notes
Sourced from github.com/docker/docker's releases.
Commits
92884c2Merge pull request #46924 from thaJeztah/vendor_singleflightdbdfc71vendor: resenje.org/singleflight v0.4.1e8c72adMerge pull request #46830 from thaJeztah/vendor_containerd_1.7.94d2a324update to go.opentelemetry.io/otel/semconv/v1.21.0, remove "httpconv" uses7d991b6vendor: github.com/moby/buildkit v0.12.5-0.20231208203051-3b6880d2a00ffcf03cdvendor: github.com/containerd/containerd v1.7.117028a03vendor: github.com/containerd/containerd v1.7.1049ad102vendor: github.com/containerd/containerd v1.7.9c14bd4fvendor: vendor: upgrade OpenTelemetry to v1.19.0 / v0.45.065973c6Merge pull request #46923 from thaJeztah/update_securejoinDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)