Skip to content

Commit 79c2132

Browse files
authored
Merge pull request #35810 from BenTheElder/upgrade-go-1-25
Upgrade to Go 1 25
2 parents e34aeb2 + 7ce15dc commit 79c2132

File tree

25 files changed

+1341
-754
lines changed

25 files changed

+1341
-754
lines changed

.go-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.21.13
1+
1.25.3

.golangci.yml

Lines changed: 45 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,49 @@
1+
version: "2"
12
run:
2-
deadline: 13m
3-
skip-dirs:
4-
- .git
5-
- .tool
6-
- vendor
7-
- verify
8-
9-
linters-settings:
10-
dupl:
11-
threshold: 100
12-
gocyclo:
13-
min-complexity: 50
14-
govet:
15-
enable:
16-
- nilness
17-
3+
timeout: 13m
184
linters:
5+
default: none
6+
# TODO: we should be enabling far more linters ...
197
enable:
20-
- govet
21-
- unused
22-
- misspell
23-
- ineffassign
24-
- staticcheck
25-
- gosimple
26-
- exportloopref
27-
disable-all: true
28-
29-
issues:
30-
exclude-rules:
31-
- linters:
32-
- golint
33-
text: ".*should not use dot dot imports"
34-
- linters:
8+
- govet
9+
- unused
10+
- misspell
11+
- ineffassign
3512
- staticcheck
36-
text: "SA1019: fakectrlruntimeclient.NewFakeClient is deprecated"
37-
- linters:
38-
- staticcheck
39-
# TODO: Is this really supposed to be deprecated? Ref https://github.com/kubernetes/test-infra/issues/14875
40-
text: "SA1019: t.*.TrustedOrg is deprecated: TrustedOrg functionality is deprecated and will be removed in January 2020"
13+
settings:
14+
dupl:
15+
threshold: 100
16+
gocyclo:
17+
min-complexity: 50
18+
govet:
19+
enable:
20+
- nilness
21+
staticcheck:
22+
checks:
23+
- all
24+
# disable: could remove embedded field "field" from selector
25+
# explicit selectors can be clearer
26+
- '-QF1008'
27+
# TODO: re-enable. We have a lot of packages without comments and the
28+
# diff to upgrade go is already huge
29+
- '-ST1000'
30+
# We have a lot of legacy capitalized error strings that are really user
31+
# Facing log messages
32+
- '-ST1005'
33+
exclusions:
34+
paths:
35+
- .git
36+
- .tool
37+
- vendor
38+
- verify
39+
rules:
40+
- linters:
41+
- golint
42+
text: ".*should not use dot dot imports"
43+
- linters:
44+
- staticcheck
45+
text: "SA1019: fakectrlruntimeclient.NewFakeClient is deprecated"
46+
- linters:
47+
- staticcheck
48+
# TODO: Is this really supposed to be deprecated? Ref https://github.com/kubernetes/test-infra/issues/14875
49+
text: "SA1019: t.*.TrustedOrg is deprecated: TrustedOrg functionality is deprecated and will be removed in January 2020"

experiment/gerrit-onboarder/onboarder.go

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -150,9 +150,9 @@ func ensureUUID(groupsFile, uuid, group string) (string, error) {
150150
return "", fmt.Errorf("UUID, %s, already in use for group %s", uuid, value)
151151
}
152152
// Group name already in use with different UUID
153-
for cur_id, groupName := range groupsMap {
153+
for curID, groupName := range groupsMap {
154154
if groupName == group {
155-
return "", fmt.Errorf("%s already used as group name for %s", group, cur_id)
155+
return "", fmt.Errorf("%s already used as group name for %s", group, curID)
156156
}
157157
}
158158

@@ -282,12 +282,12 @@ func labelAccessExistsFunc(groupName string) func(map[string][]string) bool {
282282
}
283283
}
284284

285-
func verifyInTree(workDir, host, cur_branch string, configMap map[string][]string, verify func(map[string][]string) bool) (bool, error) {
285+
func verifyInTree(workDir, host, curBranch string, configMap map[string][]string, verify func(map[string][]string) bool) (bool, error) {
286286
if verify(configMap) {
287287
return true, nil
288288
} else if inheritance := getInheritedRepo(configMap); inheritance != "" {
289-
parent_branch := cur_branch + "_parent"
290-
if err := fetchMetaConfig(host, inheritance, parent_branch, workDir); err != nil {
289+
parentBranch := curBranch + "_parent"
290+
if err := fetchMetaConfig(host, inheritance, parentBranch, workDir); err != nil {
291291
// This likely won't happen, but if the fail is due to switching branches, we want to fail
292292
if strings.Contains(err.Error(), "failed to switch") {
293293
return false, fmt.Errorf("unable to fetch refs/meta/config for %s: %w", inheritance, err)
@@ -300,28 +300,28 @@ func verifyInTree(workDir, host, cur_branch string, configMap map[string][]strin
300300
return false, fmt.Errorf("failed to read project.config file: %w", err)
301301
}
302302
newConfig, _ := configToMap(string(data))
303-
ret, err := verifyInTree(workDir, host, parent_branch, newConfig, verify)
303+
ret, err := verifyInTree(workDir, host, parentBranch, newConfig, verify)
304304
if err != nil {
305305
return false, fmt.Errorf("failed to check if lines in config for %s/%s: %w", host, inheritance, err)
306306
}
307-
if err := execInDir(os.Stdout, os.Stderr, workDir, "git", "checkout", cur_branch); err != nil {
308-
return false, fmt.Errorf("failed to checkout %s, %w", cur_branch, err)
307+
if err := execInDir(os.Stdout, os.Stderr, workDir, "git", "checkout", curBranch); err != nil {
308+
return false, fmt.Errorf("failed to checkout %s, %w", curBranch, err)
309309
}
310-
if err := execInDir(os.Stdout, os.Stderr, workDir, "git", "branch", "-D", parent_branch); err != nil {
311-
return false, fmt.Errorf("failed to delete %s branch, %w", parent_branch, err)
310+
if err := execInDir(os.Stdout, os.Stderr, workDir, "git", "branch", "-D", parentBranch); err != nil {
311+
return false, fmt.Errorf("failed to delete %s branch, %w", parentBranch, err)
312312
}
313313
return ret, nil
314314
}
315315
return false, nil
316316
}
317317

318-
func ensureProjectConfig(workDir, config, host, cur_branch, groupName string) (string, error) {
318+
func ensureProjectConfig(workDir, config, host, curBranch, groupName string) (string, error) {
319319
configMap, orderedKeys := configToMap(config)
320320

321321
// Check that prow automation robot has access to refs/*
322322
accessLines := []string{}
323323
readAccessLine := fmt.Sprintf(prowReadAccessFormat, groupName)
324-
prowReadAccess, err := verifyInTree(workDir, host, cur_branch, configMap, lineInMatchingHeaderFunc(accessRefsRegex, readAccessLine))
324+
prowReadAccess, err := verifyInTree(workDir, host, curBranch, configMap, lineInMatchingHeaderFunc(accessRefsRegex, readAccessLine))
325325
if err != nil {
326326
return "", fmt.Errorf("failed to check if needed lines in config: %w", err)
327327
}
@@ -331,7 +331,7 @@ func ensureProjectConfig(workDir, config, host, cur_branch, groupName string) (s
331331

332332
// Check that the line "label-verified" = ... group GROUPNAME exists under ANY header
333333
labelAccessLine := fmt.Sprintf(prowLabelAccessFormat, groupName)
334-
prowLabelAccess, err := verifyInTree(workDir, host, cur_branch, configMap, labelAccessExistsFunc(groupName))
334+
prowLabelAccess, err := verifyInTree(workDir, host, curBranch, configMap, labelAccessExistsFunc(groupName))
335335
if err != nil {
336336
return "", fmt.Errorf("failed to check if needed lines in config: %w", err)
337337
}
@@ -341,7 +341,7 @@ func ensureProjectConfig(workDir, config, host, cur_branch, groupName string) (s
341341
configMap, orderedKeys = addSection(accessHeader, configMap, orderedKeys, accessLines)
342342

343343
// We need to be less exact with the Label-Verified header so we are just checking if it exists anywhere:
344-
labelExists, err := verifyInTree(workDir, host, cur_branch, configMap, labelExists)
344+
labelExists, err := verifyInTree(workDir, host, curBranch, configMap, labelExists)
345345
if err != nil {
346346
return "", fmt.Errorf("failed to check if needed lines in config: %w", err)
347347
}
@@ -352,13 +352,13 @@ func ensureProjectConfig(workDir, config, host, cur_branch, groupName string) (s
352352

353353
}
354354

355-
func updatePojectConfig(workDir, host, cur_branch, groupName string) error {
355+
func updatePojectConfig(workDir, host, curBranch, groupName string) error {
356356
data, err := os.ReadFile(path.Join(workDir, projectConfigFile))
357357
if err != nil {
358358
return fmt.Errorf("failed to read project.config file: %w", err)
359359
}
360360

361-
newData, err := ensureProjectConfig(workDir, string(data), host, cur_branch, groupName)
361+
newData, err := ensureProjectConfig(workDir, string(data), host, curBranch, groupName)
362362
if err != nil {
363363
return fmt.Errorf("failed to ensure updated project config: %w", err)
364364
}

experiment/prowjob-report/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ func ScaledValue(q resource.Quantity, s resource.Scale) int64 {
168168

169169
// Testgrid dashboard utils
170170

171-
// Primary dashboard aka which is most likely to have more viewers
171+
// PrimaryDashboard aka which is most likely to have more viewers
172172
// Choose from: sig-release-.*, or sig-.*, or first in list
173173
func PrimaryDashboard(job cfg.JobBase) string {
174174
dashboardsAnnotation, ok := job.Annotations["testgrid-dashboards"]
@@ -193,7 +193,7 @@ func PrimaryDashboard(job cfg.JobBase) string {
193193
return dashboards[0]
194194
}
195195

196-
// Owner dashboard aka who is responsible for maintaining the job
196+
// OwnerDashboard aka who is responsible for maintaining the job
197197
// Choose from: sig-(not-release)-*, or sig-release, or first in list
198198
func OwnerDashboard(job cfg.JobBase) string {
199199
dashboardsAnnotation, ok := job.Annotations["testgrid-dashboards"]

go.mod

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ require (
3535
github.com/go-openapi/spec v0.20.4
3636
github.com/golang/glog v1.1.0
3737
github.com/gomodule/redigo v1.8.5 // indirect
38-
github.com/google/go-cmp v0.5.9
38+
github.com/google/go-cmp v0.6.0
3939
github.com/google/go-github v17.0.0+incompatible
4040
github.com/google/gofuzz v1.2.1-0.20210504230335-f78f29fc09ea // indirect
4141
github.com/google/uuid v1.3.0
@@ -58,13 +58,13 @@ require (
5858
go.yaml.in/yaml/v2 v2.4.2
5959
go4.org v0.0.0-20201209231011-d4a079459e60 // indirect
6060
gocloud.dev v0.19.0 // indirect
61-
golang.org/x/crypto v0.9.0
62-
golang.org/x/net v0.10.0 // indirect
61+
golang.org/x/crypto v0.43.0
62+
golang.org/x/net v0.46.0 // indirect
6363
golang.org/x/oauth2 v0.8.0
64-
golang.org/x/sync v0.2.0 // indirect
65-
golang.org/x/text v0.9.0 // indirect
64+
golang.org/x/sync v0.17.0 // indirect
65+
golang.org/x/text v0.30.0 // indirect
6666
golang.org/x/time v0.3.0 // indirect
67-
golang.org/x/tools v0.8.0
67+
golang.org/x/tools v0.38.0
6868
gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect
6969
google.golang.org/api v0.121.0
7070
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1
@@ -171,8 +171,8 @@ require (
171171
go.opencensus.io v0.24.0 // indirect
172172
go.uber.org/atomic v1.10.0 // indirect
173173
go.uber.org/multierr v1.8.0 // indirect
174-
golang.org/x/sys v0.8.0 // indirect
175-
golang.org/x/term v0.8.0 // indirect
174+
golang.org/x/sys v0.37.0 // indirect
175+
golang.org/x/term v0.36.0 // indirect
176176
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
177177
google.golang.org/appengine v1.6.7 // indirect
178178
gopkg.in/inf.v0 v0.9.1 // indirect
@@ -182,4 +182,4 @@ require (
182182
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
183183
)
184184

185-
go 1.21
185+
go 1.24.0

go.sum

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -353,8 +353,9 @@ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
353353
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
354354
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
355355
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
356-
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
357356
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
357+
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
358+
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
358359
github.com/google/go-containerregistry v0.15.2 h1:MMkSh+tjSdnmJZO7ljvEqV1DjfekB6VUEAZgy3a+TQE=
359360
github.com/google/go-containerregistry v0.15.2/go.mod h1:wWK+LnOv4jXMM23IT/F1wdYftGWGr47Is8CG+pmHK1Q=
360361
github.com/google/go-github v17.0.0+incompatible h1:N0LgJ1j65A7kfXrZnUDaYCs/Sf4rEjNlfyDHW9dolSY=
@@ -675,8 +676,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
675676
golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
676677
golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
677678
golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
678-
golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g=
679-
golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0=
679+
golang.org/x/crypto v0.43.0 h1:dduJYIi3A3KOfdGOHX8AVZ/jGiyPa3IbBozJ5kNuE04=
680+
golang.org/x/crypto v0.43.0/go.mod h1:BFbav4mRNlXJL4wNeejLpWxB7wMbc79PdRGhWKncxR0=
680681
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
681682
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
682683
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -712,8 +713,8 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
712713
golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
713714
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
714715
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
715-
golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk=
716-
golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
716+
golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA=
717+
golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w=
717718
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
718719
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
719720
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -762,8 +763,8 @@ golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su
762763
golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
763764
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
764765
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
765-
golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M=
766-
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
766+
golang.org/x/net v0.46.0 h1:giFlY12I07fugqwPuWJi68oOnpfqFnJIJzaIIm2JVV4=
767+
golang.org/x/net v0.46.0/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210=
767768
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
768769
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
769770
golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -789,8 +790,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ
789790
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
790791
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
791792
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
792-
golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI=
793-
golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
793+
golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug=
794+
golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
794795
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
795796
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
796797
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -848,14 +849,14 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc
848849
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
849850
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
850851
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
851-
golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU=
852-
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
852+
golang.org/x/sys v0.37.0 h1:fdNQudmxPjkdUTPnLn5mdQv7Zwvbvpaxqs831goi9kQ=
853+
golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
853854
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
854855
golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
855856
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
856857
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
857-
golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols=
858-
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
858+
golang.org/x/term v0.36.0 h1:zMPR+aF8gfksFprF/Nc/rd1wRS1EI6nDBGyWAvDzx2Q=
859+
golang.org/x/term v0.36.0/go.mod h1:Qu394IJq6V6dCBRgwqshf3mPF85AqzYEzofzRdZkWss=
859860
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
860861
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
861862
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -867,8 +868,8 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
867868
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
868869
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
869870
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
870-
golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE=
871-
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
871+
golang.org/x/text v0.30.0 h1:yznKA/E9zq54KzlzBEAWn1NXSQ8DIp/NYMy88xJjl4k=
872+
golang.org/x/text v0.30.0/go.mod h1:yDdHFIX9t+tORqspjENWgzaCVXgk0yYnYuSZ8UzzBVM=
872873
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
873874
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
874875
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -929,8 +930,8 @@ golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4f
929930
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
930931
golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
931932
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
932-
golang.org/x/tools v0.8.0 h1:vSDcovVPld282ceKgDimkRSC8kpaH1dgyc9UMzlt84Y=
933-
golang.org/x/tools v0.8.0/go.mod h1:JxBZ99ISMI5ViVkT1tr6tdNmXeTrcpVSD3vZ1RsRdN4=
933+
golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ=
934+
golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs=
934935
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
935936
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
936937
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

0 commit comments

Comments
 (0)