Repository navigation
Bump the go-deps group across 1 directory with 20 updates AND bump go to 1.26 AND regenerate protos AND bump golangci-lint in tests AND tighter master election lease filtering AND migrate to etcd/server in tests - #3931
Conversation
Bumps the go-deps group with 20 updates in the / directory: | Package | From | To | | --- | --- | --- | | [cloud.google.com/go/spanner](https://github.com/googleapis/google-cloud-go) | `1.91.0` | `1.95.1` | | [github.com/apache/beam/sdks/v2](https://github.com/apache/beam) | `2.72.0` | `2.76.0` | | [github.com/fullstorydev/grpcurl](https://github.com/fullstorydev/grpcurl) | `1.9.3` | `1.9.4` | | [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql) | `1.10.0` | `1.10.1` | | [github.com/jackc/pgx/v5](https://github.com/jackc/pgx) | `5.10.0` | `5.11.0` | | [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) | `1.23.2` | `1.24.1` | | [github.com/prometheus/client_model](https://github.com/prometheus/client_model) | `0.6.2` | `0.6.3` | | [go.etcd.io/etcd/client/v3](https://github.com/etcd-io/etcd) | `3.6.14` | `3.7.1` | | [go.etcd.io/etcd/etcdctl/v3](https://github.com/etcd-io/etcd) | `3.6.14` | `3.7.1` | | [go.etcd.io/etcd/server/v3](https://github.com/etcd-io/etcd) | `3.6.14` | `3.7.1` | | [golang.org/x/sync](https://github.com/golang/sync) | `0.22.0` | `0.23.0` | | [golang.org/x/sys](https://github.com/golang/sys) | `0.47.0` | `0.48.0` | | [golang.org/x/tools](https://github.com/golang/tools) | `0.48.0` | `0.50.0` | | [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.279.0` | `0.291.0` | | [google.golang.org/genproto](https://github.com/googleapis/go-genproto) | `0.0.0-20260319201613-d00831a3d3e7` | `0.0.0-20260523011958-0a33c5d7ca68` | | [google.golang.org/genproto/googleapis/rpc](https://github.com/googleapis/go-genproto) | `0.0.0-20260803160001-6ac0973c030d` | `0.0.0-20260825221802-da73d73af1c5` | | google.golang.org/protobuf | `1.36.11` | `1.36.12` | | [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) | `0.35.5` | `0.37.0` | | [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.35.5` | `0.37.0` | | [k8s.io/utils](https://github.com/kubernetes/utils) | `0.0.0-20260210185600-b8788abfbbc2` | `0.0.0-20260626114624-be93311217bd` | Updates `cloud.google.com/go/spanner` from 1.91.0 to 1.95.1 - [Release notes](https://github.com/googleapis/google-cloud-go/releases) - [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md) - [Commits](googleapis/google-cloud-go@spanner/v1.91.0...spanner/v1.95.1) Updates `github.com/apache/beam/sdks/v2` from 2.72.0 to 2.76.0 - [Release notes](https://github.com/apache/beam/releases) - [Changelog](https://github.com/apache/beam/blob/master/CHANGES.md) - [Commits](apache/beam@v2.72.0...v2.76.0) Updates `github.com/fullstorydev/grpcurl` from 1.9.3 to 1.9.4 - [Release notes](https://github.com/fullstorydev/grpcurl/releases) - [Commits](fullstorydev/grpcurl@v1.9.3...v1.9.4) Updates `github.com/go-sql-driver/mysql` from 1.10.0 to 1.10.1 - [Release notes](https://github.com/go-sql-driver/mysql/releases) - [Changelog](https://github.com/go-sql-driver/mysql/blob/master/CHANGELOG.md) - [Commits](go-sql-driver/mysql@v1.10.0...v1.10.1) Updates `github.com/jackc/pgx/v5` from 5.10.0 to 5.11.0 - [Release notes](https://github.com/jackc/pgx/releases) - [Changelog](https://github.com/jackc/pgx/blob/master/CHANGELOG.md) - [Commits](jackc/pgx@v5.10.0...v5.11.0) Updates `github.com/prometheus/client_golang` from 1.23.2 to 1.24.1 - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md) - [Commits](prometheus/client_golang@v1.23.2...v1.24.1) Updates `github.com/prometheus/client_model` from 0.6.2 to 0.6.3 - [Release notes](https://github.com/prometheus/client_model/releases) - [Commits](prometheus/client_model@v0.6.2...v0.6.3) Updates `go.etcd.io/etcd/client/v3` from 3.6.14 to 3.7.1 - [Release notes](https://github.com/etcd-io/etcd/releases) - [Commits](etcd-io/etcd@v3.6.14...v3.7.1) Updates `go.etcd.io/etcd/etcdctl/v3` from 3.6.14 to 3.7.1 - [Release notes](https://github.com/etcd-io/etcd/releases) - [Commits](etcd-io/etcd@v3.6.14...v3.7.1) Updates `go.etcd.io/etcd/server/v3` from 3.6.14 to 3.7.1 - [Release notes](https://github.com/etcd-io/etcd/releases) - [Commits](etcd-io/etcd@v3.6.14...v3.7.1) Updates `golang.org/x/sync` from 0.22.0 to 0.23.0 - [Commits](golang/sync@v0.22.0...v0.23.0) Updates `golang.org/x/sys` from 0.47.0 to 0.48.0 - [Commits](golang/sys@v0.47.0...v0.48.0) Updates `golang.org/x/tools` from 0.48.0 to 0.50.0 - [Release notes](https://github.com/golang/tools/releases) - [Commits](golang/tools@v0.48.0...v0.50.0) Updates `google.golang.org/api` from 0.279.0 to 0.291.0 - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](googleapis/google-api-go-client@v0.279.0...v0.291.0) Updates `google.golang.org/genproto` from 0.0.0-20260319201613-d00831a3d3e7 to 0.0.0-20260523011958-0a33c5d7ca68 - [Commits](https://github.com/googleapis/go-genproto/commits) Updates `google.golang.org/genproto/googleapis/rpc` from 0.0.0-20260803160001-6ac0973c030d to 0.0.0-20260825221802-da73d73af1c5 - [Commits](https://github.com/googleapis/go-genproto/commits) Updates `google.golang.org/protobuf` from 1.36.11 to 1.36.12 Updates `k8s.io/apimachinery` from 0.35.5 to 0.37.0 - [Commits](kubernetes/apimachinery@v0.35.5...v0.37.0) Updates `k8s.io/client-go` from 0.35.5 to 0.37.0 - [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md) - [Commits](kubernetes/client-go@v0.35.5...v0.37.0) Updates `k8s.io/utils` from 0.0.0-20260210185600-b8788abfbbc2 to 0.0.0-20260626114624-be93311217bd - [Commits](https://github.com/kubernetes/utils/commits) --- updated-dependencies: - dependency-name: cloud.google.com/go/spanner dependency-version: 1.95.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go-deps - dependency-name: github.com/apache/beam/sdks/v2 dependency-version: 2.76.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go-deps - dependency-name: github.com/fullstorydev/grpcurl dependency-version: 1.9.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go-deps - dependency-name: github.com/go-sql-driver/mysql dependency-version: 1.10.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go-deps - dependency-name: github.com/jackc/pgx/v5 dependency-version: 5.11.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go-deps - dependency-name: github.com/prometheus/client_golang dependency-version: 1.24.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go-deps - dependency-name: github.com/prometheus/client_model dependency-version: 0.6.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go-deps - dependency-name: go.etcd.io/etcd/client/v3 dependency-version: 3.7.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go-deps - dependency-name: go.etcd.io/etcd/etcdctl/v3 dependency-version: 3.7.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go-deps - dependency-name: go.etcd.io/etcd/server/v3 dependency-version: 3.7.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go-deps - dependency-name: golang.org/x/sync dependency-version: 0.23.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go-deps - dependency-name: golang.org/x/sys dependency-version: 0.48.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go-deps - dependency-name: golang.org/x/tools dependency-version: 0.50.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go-deps - dependency-name: google.golang.org/api dependency-version: 0.291.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go-deps - dependency-name: google.golang.org/genproto dependency-version: 0.0.0-20260523011958-0a33c5d7ca68 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go-deps - dependency-name: google.golang.org/genproto/googleapis/rpc dependency-version: 0.0.0-20260825221802-da73d73af1c5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go-deps - dependency-name: google.golang.org/protobuf dependency-version: 1.36.12 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go-deps - dependency-name: k8s.io/apimachinery dependency-version: 0.37.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go-deps - dependency-name: k8s.io/client-go dependency-version: 0.37.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go-deps - dependency-name: k8s.io/utils dependency-version: 0.0.0-20260626114624-be93311217bd dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go-deps ... Signed-off-by: dependabot[bot] <support@github.com>
|
/gcbrun |
|
/gcbrun |
|
/gcbrun |
|
/gcbrun |
Validate that incoming lease watch events match the target election lease name (`e.lock.LeaseMeta.Name`) before updating observed mastership records. ### Background: client-go v0.35.5 -> v0.37.0 Transition In client-go <= v0.35.5, the fake client's `tracker.Watch` implementation (testing/fixture.go) was a stub that never replayed pre-existing objects: https://github.com/kubernetes/client-go/blob/v0.35.5/testing/fixture.go#L356-L372 In client-go v0.37.0, resource version tracking was introduced to simulate informer list-and-watch replay: https://github.com/kubernetes/client-go/blob/v0.37.0/testing/fixture.go#L403-L456 When `ListOptions` are provided with an empty `ResourceVersion` (as used by `election.go`'s `FieldSelector` watch), the v0.37.0 fake client enables `addExisting = true` with `addFromRV = 0`, replaying all existing namespace objects. However, the fake client only filters by namespace and completely ignores `FieldSelector`. Because subtests in `TestElection/RunElectionClose` share the same clientset and namespace, leases from earlier subtests ("master", "master-error") were replayed to the "not-master" watcher. Without checking `lease.Name`, "not-master" adopted the previous lease holder ("testID"), mistakenly assumed it was leader, and failed during `Close()` when attempting to resign an uninitialized lease. ### Why This Change is Safe & Has Zero Impact on Production 1. Zero Production Impact: In production, Trillian watches real kube-apiserver using `FieldSelector: metadata.name=<name>`. The Kubernetes API contract guarantees server-side filtering, so kube-apiserver never sends foreign leases down the watch. In production, `lease.Name == e.lock.LeaseMeta.Name` is always true for all received events. 2. Defensive Safety: If a malformed stream, proxy, or unexpected `watch.Deleted` event for another lease ever reaches the client, this check prevents Trillian from mistakenly zeroing its leadership record. 3. Behavior Preserved: Matching events execute the exact same record update logic as before. Verified: - go test -v -count=1 ./util/election2/k8s (PASS) - go test -race -count=5 ./util/election2/k8s (PASS) - go test ./util/election2/... (PASS)
|
/gcbrun |
|
Tests failed. I had to modify Another fix is possible without changing |
Update tools.go to track go.etcd.io/etcd/server/v3 instead of the root go.etcd.io/etcd/v3 module, prune orphaned v3.6.14 test dependencies, and build the etcd binary directly in run_integration.sh. ### History & Context 1. In etcd v3.5 (PR etcd-io/etcd#12417), the server entrypoint moved to `go.etcd.io/etcd/server/v3`. The root module `go.etcd.io/etcd/v3` was reduced to an internal stub (`dummy.go`, package main_test) importing internal test harnesses (`etcdutl/v3` and `tests/v3`). 2. When Trillian adopted etcd v3 (PR #2376), `tools/tools.go` tracked `go.etcd.io/etcd/v3` rather than `server/v3`. `go install go.etcd.io/etcd/v3` in CI produced no binary (due to package main_test), causing `functions.sh` to silently fall back to `--force_master`. 3. In this PR's dependency bump, Dependabot upgraded `server/v3`, `client/v3`, and `api/v3` to v3.7.1 and `raft/v3` to v3.7.0, but left `etcd/v3` at v3.6.14. This dragged in `etcdutl/v3@v3.6.14`, which failed to compile against the breaking API changes in `raft/v3@v3.7.0` (NodeId, Commit *uint64) and `api/v3@v3.7.1` (protobuf migration removing Unmarshal). ### Fix - `tools/tools.go`: track `go.etcd.io/etcd/server/v3` instead of `etcd/v3`. - `go.mod`: `go mod tidy` drops `etcd/v3 v3.6.14` and its incompatible test deps, cleanly aligning all etcd dependencies at v3.7.1. - `integration/cloudbuild/run_integration.sh`: compile the server binary via `go build -o "${ETCD_DIR}/etcd" go.etcd.io/etcd/server/v3` (avoiding Go's default name `server`), restoring real etcd integration testing in CI.
|
/gcbrun |
|
Then,I got: Cloud Build failed during In etcd v3.5 (etcd#12417), the server moved to Fix: io/etcd/server/v3 |
|
/gcbrun |
Bumps the go-deps group with 20 updates in the / directory:
1.91.01.95.12.72.02.76.01.9.31.9.41.10.01.10.15.10.05.11.01.23.21.24.10.6.20.6.33.6.143.7.13.6.143.7.13.6.143.7.10.22.00.23.00.47.00.48.00.48.00.50.00.279.00.291.00.0.0-20260319201613-d00831a3d3e70.0.0-20260523011958-0a33c5d7ca680.0.0-20260803160001-6ac0973c030d0.0.0-20260825221802-da73d73af1c51.36.111.36.120.35.50.37.00.35.50.37.00.0.0-20260210185600-b8788abfbbc20.0.0-20260626114624-be93311217bdUpdates
cloud.google.com/go/spannerfrom 1.91.0 to 1.95.1Release notes
Sourced from cloud.google.com/go/spanner's releases.
Commits
78076a8chore(main): release spanner 1.95.1 (#20501)e8737c3chore(main): release bigtable 1.57.0 (#20485)015b73ctest(bigtable): fakeStream.Recv observes ctx.Done to fix pool-Close deadlock ...2bfdb5dfix(bigtable): keep single-key ReadRows on the streaming classic path (#20506)95479e9feat: update API sources and regenerate (#20502)1c940cechore(deps): bump google.golang.org/grpc from 1.83.0 to 1.83.2 in /ftp (#20492)93af903chore(deps): bump google.golang.org/grpc from 1.83.1 to 1.83.2 in /support (#...fd29470chore(deps): bump google.golang.org/grpc from 1.82.1 to 1.83.2 in /webrisk (#...70b9796chore(deps): bump google.golang.org/grpc from 1.83.1 to 1.83.2 in /trace (#20...5ada576chore(deps): bump google.golang.org/grpc from 1.83.1 to 1.83.2 in /video (#20...Updates
github.com/apache/beam/sdks/v2from 2.72.0 to 2.76.0Release notes
Sourced from github.com/apache/beam/sdks/v2's releases.
... (truncated)
Changelog
Sourced from github.com/apache/beam/sdks/v2's changelog.
... (truncated)
Commits
3862626Set version for 2.76.0 RC42c478dcMerge pull request #39838 from apache/cp-39837f8e3f18Cherrypick #39837b8429d1Merge pull request #39719 from ahmedabu98/cp396459007148Merge pull request #39832 from parveensania/cherrypick-pr396467c8159cRetrigger checksb4877ceMake primary channel failover timeout configurable (#39646)63850b7Require google-cloud-bigtable>=2.42.0 and test write error surfacing (#39820)...161ea0bFix stale broken cluster connection in CassandraIO (#39788) (#39803)e6c61dfimprove documentationUpdates
github.com/fullstorydev/grpcurlfrom 1.9.3 to 1.9.4Release notes
Sourced from github.com/fullstorydev/grpcurl's releases.
... (truncated)
Commits
cf21d4aupdate release to cut and upload via gh actions (#580)8568146fix: preserve wrapped request and descriptor errors (#579)7884ecbremove old SA1019 lint:ignore (#577)aba598cgo mod update (#578)4bb0f33Bump google.golang.org/protobuf from 1.36.11 to 1.36.12 (#576)5f2d0c2remove old SA1019 lint:ignore (#574)6be36baFix path traversal attack in-proto-out-dir(#573)353acfeFix flaky TLS test by waiting for dial outcome before closing connection (#572)04bf23bdocs: fix typo "foor" -> "foo" in README example (#571)1a48043Bump golang.org/x/net in the go_modules group across 1 directory (#569)Updates
github.com/go-sql-driver/mysqlfrom 1.10.0 to 1.10.1Release notes
Sourced from github.com/go-sql-driver/mysql's releases.
Changelog
Sourced from github.com/go-sql-driver/mysql's changelog.
Commits
7ca26e8release v1.10.1 (#1801)87dcb95doc: clarify timeTruncate units and when to use it (#1792)1d9c421codeql: remove custom workflow (#1799)532b8e5Bump the all-dependencies group with 3 updates (#1796)fe209ccBump the all-dependencies group with 5 updates (#1795)03d76c7Bump the all-dependencies group with 3 updates (#1794)c426bd9Bump the all-dependencies group across 1 directory with 5 updates (#1791)416cd99Bump actions/setup-go from 6.5.0 to 7.0.0 in the all-dependencies group (#1783)b96d415Interpolate typed-nil json.RawMessage as NULL (#1782)dec193dBump the all-dependencies group with 3 updates (#1780)Updates
github.com/jackc/pgx/v5from 5.10.0 to 5.11.0Release notes
Sourced from github.com/jackc/pgx/v5's releases.
... (truncated)
Changelog
Sourced from github.com/jackc/pgx/v5's changelog.
... (truncated)
Commits
5e583faUpdate changelog for v5.11.03927116Apply gofumpt formatting required by linteb07165Quote filesystem paths in development connection stringscf5938fAllow unsigned digit counts in binary numeric encoding3930cf5Accept PostgreSQL POSIX timezone offsets in text timestamps93261bePrefer exact db tag matches when mapping rows to structse8d8ad1Merge pull request #2647 from sueun-dev/fix-range-text-quoting-2026090601d2fd3Merge pull request #2644 from eliranbz/fix-failed-prepare-deallocation9b7e3beMerge pull request #2645 from ash2k/move-channel76d78f5Merge pull request #2643 from AshSgDe29071999/fix/hstore-pairs-estimate-clampUpdates
github.com/prometheus/client_golangfrom 1.23.2 to 1.24.1Release notes
Sourced from github.com/prometheus/client_golang's releases.