From 7a15cb116a5b6aee7ee6f757e673384804661de7 Mon Sep 17 00:00:00 2001 From: Julie Qiu Date: Wed, 7 Jul 2021 22:26:07 -0700 Subject: devtools/cmd/seeddb: filter stdlib versions It's relatively expensive to fetch a stdlib module version, so when std@all is specified, only fetch the minor versions (ones with a patch version of 0). Change-Id: Iabf31977ca068a61f7fbbcd38f6da25c14b65082 Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/335133 Trust: Julie Qiu Run-TryBot: Julie Qiu Reviewed-by: Jonathan Amsterdam --- devtools/cmd/seeddb/main.go | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'devtools') diff --git a/devtools/cmd/seeddb/main.go b/devtools/cmd/seeddb/main.go index 5c3d9555..30733f0b 100644 --- a/devtools/cmd/seeddb/main.go +++ b/devtools/cmd/seeddb/main.go @@ -94,12 +94,23 @@ func run(ctx context.Context, db *postgres.DB, proxyURL string) error { vers := []string{m.version} if m.version == "all" { if m.path == stdlib.ModulePath { - vers, err = stdlib.Versions() + stdVersions, err := stdlib.Versions() + if err != nil { + return err + } + // As an optimization, only fetch release versions for the + // standard library. + vers = nil + for _, v := range stdVersions { + if strings.HasSuffix(v, ".0") { + vers = append(vers, v) + } + } } else { vers, err = proxyClient.Versions(ctx, m.path) - } - if err != nil { - return err + if err != nil { + return err + } } } for _, v := range vers { -- cgit v1.3-6-g1900