From a394a0ee1bc79f760c55a42bb7495239331d49a6 Mon Sep 17 00:00:00 2001 From: Alan Parra Date: Mon, 14 Aug 2023 15:29:48 -0300 Subject: [PATCH] chore: Bump golang.org/x/exp and fix breakages (#30439) * Bump golang.org/x/exp * Fix `slices.SortFunc` and `slices.SortStableFunc` calls * Avoid Time.Compare in api/ --- api/go.mod | 2 +- api/go.sum | 4 ++-- api/types/instance.go | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- integrations/kube-agent-updater/go.mod | 2 +- integrations/kube-agent-updater/go.sum | 4 ++-- lib/asciitable/table.go | 6 +++--- lib/events/azsessions/azsessions.go | 6 +++--- lib/services/access_checker.go | 4 ++-- lib/srv/discovery/fetchers/kube_services_test.go | 4 ++-- 11 files changed, 21 insertions(+), 21 deletions(-) diff --git a/api/go.mod b/api/go.mod index 65fe1247318..f1de1ad8630 100644 --- a/api/go.mod +++ b/api/go.mod @@ -23,7 +23,7 @@ require ( go.opentelemetry.io/otel/trace v1.16.0 go.opentelemetry.io/proto/otlp v1.0.0 golang.org/x/crypto v0.12.0 - golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df + golang.org/x/exp v0.0.0-20230811145659-89c5cff77bcb golang.org/x/net v0.14.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20230629202037-9506855d4529 google.golang.org/grpc v1.57.0 diff --git a/api/go.sum b/api/go.sum index 3778d6f4c26..6d61d0e8599 100644 --- a/api/go.sum +++ b/api/go.sum @@ -151,8 +151,8 @@ golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk= golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME= -golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= +golang.org/x/exp v0.0.0-20230811145659-89c5cff77bcb h1:mIKbk8weKhSeLH2GmUTrvx8CjkyJmnU1wFmg59CUjFA= +golang.org/x/exp v0.0.0-20230811145659-89c5cff77bcb/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= diff --git a/api/types/instance.go b/api/types/instance.go index abedbb00f8b..707cda199b2 100644 --- a/api/types/instance.go +++ b/api/types/instance.go @@ -286,8 +286,8 @@ func (i *InstanceV1) AppendControlLog(entries ...InstanceControlLogEntry) { // panics in proto logic). i.Spec.ControlLog[idx].Time = entry.Time.UTC() } - slices.SortFunc(i.Spec.ControlLog, func(a, b InstanceControlLogEntry) bool { - return a.Time.Before(b.Time) + slices.SortFunc(i.Spec.ControlLog, func(a, b InstanceControlLogEntry) int { + return int(a.Time.UnixNano() - b.Time.UnixNano()) }) } diff --git a/go.mod b/go.mod index ac619b50f1f..146490717ee 100644 --- a/go.mod +++ b/go.mod @@ -163,7 +163,7 @@ require ( go.opentelemetry.io/otel/trace v1.16.0 go.opentelemetry.io/proto/otlp v1.0.0 golang.org/x/crypto v0.12.0 - golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df + golang.org/x/exp v0.0.0-20230811145659-89c5cff77bcb golang.org/x/mod v0.12.0 golang.org/x/net v0.14.0 golang.org/x/oauth2 v0.11.0 diff --git a/go.sum b/go.sum index 8d9252cd40f..7e2742af949 100644 --- a/go.sum +++ b/go.sum @@ -1697,8 +1697,8 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME= -golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= +golang.org/x/exp v0.0.0-20230811145659-89c5cff77bcb h1:mIKbk8weKhSeLH2GmUTrvx8CjkyJmnU1wFmg59CUjFA= +golang.org/x/exp v0.0.0-20230811145659-89c5cff77bcb/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= diff --git a/integrations/kube-agent-updater/go.mod b/integrations/kube-agent-updater/go.mod index 5027f54676d..6faccf6e6e0 100644 --- a/integrations/kube-agent-updater/go.mod +++ b/integrations/kube-agent-updater/go.mod @@ -12,7 +12,7 @@ require ( github.com/sigstore/cosign/v2 v2.1.1 github.com/sigstore/sigstore v1.7.2 github.com/stretchr/testify v1.8.4 - golang.org/x/exp v0.0.0-20230321023759-10a507213a29 + golang.org/x/exp v0.0.0-20230811145659-89c5cff77bcb golang.org/x/mod v0.12.0 k8s.io/api v0.27.4 k8s.io/apimachinery v0.27.4 diff --git a/integrations/kube-agent-updater/go.sum b/integrations/kube-agent-updater/go.sum index 29465f475b9..4f88722f65b 100644 --- a/integrations/kube-agent-updater/go.sum +++ b/integrations/kube-agent-updater/go.sum @@ -627,8 +627,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug= -golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/exp v0.0.0-20230811145659-89c5cff77bcb h1:mIKbk8weKhSeLH2GmUTrvx8CjkyJmnU1wFmg59CUjFA= +golang.org/x/exp v0.0.0-20230811145659-89c5cff77bcb/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= diff --git a/lib/asciitable/table.go b/lib/asciitable/table.go index f7c91009e9e..fa458583ffe 100644 --- a/lib/asciitable/table.go +++ b/lib/asciitable/table.go @@ -214,17 +214,17 @@ func (t *Table) IsHeadless() bool { // ignored - it is the caller's responsibility to ensure the indices are in // range. func (t *Table) SortRowsBy(colIdxKey []int, stable bool) { - lessFn := func(a, b []string) bool { + lessFn := func(a, b []string) int { for _, col := range colIdxKey { limit := min(len(a), len(b)) if col >= limit { continue } if a[col] != b[col] { - return a[col] < b[col] + return strings.Compare(a[col], b[col]) } } - return false + return 0 // Rows are equal. } if stable { slices.SortStableFunc(t.rows, lessFn) diff --git a/lib/events/azsessions/azsessions.go b/lib/events/azsessions/azsessions.go index f448c5c5fc0..457e1e730d3 100644 --- a/lib/events/azsessions/azsessions.go +++ b/lib/events/azsessions/azsessions.go @@ -320,7 +320,7 @@ func (h *Handler) CompleteUpload(ctx context.Context, upload events.StreamUpload // cleaned up before a new attempt parts = slices.Clone(parts) - slices.SortFunc(parts, func(a, b events.StreamPart) bool { return a.Number < b.Number }) + slices.SortFunc(parts, func(a, b events.StreamPart) int { return int(a.Number - b.Number) }) partURLs := make([]string, 0, len(parts)) for _, part := range parts { @@ -492,7 +492,7 @@ func (h *Handler) ListParts(ctx context.Context, upload events.StreamUpload) ([] } } - slices.SortFunc(parts, func(a, b events.StreamPart) bool { return a.Number < b.Number }) + slices.SortFunc(parts, func(a, b events.StreamPart) int { return int(a.Number - b.Number) }) return parts, nil } @@ -544,7 +544,7 @@ func (h *Handler) ListUploads(ctx context.Context) ([]events.StreamUpload, error } } - slices.SortFunc(uploads, func(a, b events.StreamUpload) bool { return a.Initiated.Before(b.Initiated) }) + slices.SortFunc(uploads, func(a, b events.StreamUpload) int { return a.Initiated.Compare(b.Initiated) }) return uploads, nil } diff --git a/lib/services/access_checker.go b/lib/services/access_checker.go index 90c90c235f8..c631bbf9237 100644 --- a/lib/services/access_checker.go +++ b/lib/services/access_checker.go @@ -853,8 +853,8 @@ func (a *accessChecker) HostUsers(s types.Server) (*HostUsersInfo, error) { roleSet := make([]types.Role, len(a.RoleSet)) copy(roleSet, a.RoleSet) - slices.SortStableFunc(roleSet, func(a types.Role, b types.Role) bool { - return strings.Compare(a.GetName(), b.GetName()) == -1 + slices.SortStableFunc(roleSet, func(a types.Role, b types.Role) int { + return strings.Compare(a.GetName(), b.GetName()) }) seenSudoers := make(map[string]struct{}) diff --git a/lib/srv/discovery/fetchers/kube_services_test.go b/lib/srv/discovery/fetchers/kube_services_test.go index 1c516ecf6ec..e9085facb12 100644 --- a/lib/srv/discovery/fetchers/kube_services_test.go +++ b/lib/srv/discovery/fetchers/kube_services_test.go @@ -288,8 +288,8 @@ func TestKubeAppFetcher_Get(t *testing.T) { result, err := fetcher.Get(context.Background()) require.NoError(t, err) require.Equal(t, len(tt.expected), len(result)) - slices.SortFunc(result, func(a, b types.ResourceWithLabels) bool { - return a.GetName() < b.GetName() + slices.SortFunc(result, func(a, b types.ResourceWithLabels) int { + return strings.Compare(a.GetName(), b.GetName()) }) require.Empty(t, cmp.Diff(tt.expected.AsResources(), result)) })