]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: include the go language version in cache keys
authorBryan C. Mills <bcmills@google.com>
Thu, 12 Mar 2020 13:16:11 +0000 (09:16 -0400)
committerBryan C. Mills <bcmills@google.com>
Thu, 12 Mar 2020 14:07:16 +0000 (14:07 +0000)
Fixes #37804

Change-Id: I4381dc5c58cfd467506d3d73fbd19c2c7257338e
Reviewed-on: https://go-review.googlesource.com/c/go/+/223139
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Jay Conrod <jayconrod@google.com>
src/cmd/go/internal/work/exec.go
src/cmd/go/testdata/script/mod_edit_go.txt

index 70f3c7b27e026f978518549e7e81cdc54ce7bad5..c71149baa320ae60b2b779b261fbacd5caad8237 100644 (file)
@@ -213,6 +213,9 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
        } else if cfg.BuildTrimpath && p.Module != nil {
                fmt.Fprintf(h, "module %s@%s\n", p.Module.Path, p.Module.Version)
        }
+       if p.Module != nil {
+               fmt.Fprintf(h, "go %s", p.Module.GoVersion)
+       }
        fmt.Fprintf(h, "goos %s goarch %s\n", cfg.Goos, cfg.Goarch)
        fmt.Fprintf(h, "import %q\n", p.ImportPath)
        fmt.Fprintf(h, "omitdebug %v standard %v local %v prefix %q\n", p.Internal.OmitDebug, p.Standard, p.Internal.Local, p.Internal.LocalPrefix)
index 3ec8137e2d313044344d1ada6e6b3cb2ba231570..38321d071fb35e9adf1c8664f9c7de6edfab9549 100644 (file)
@@ -7,6 +7,13 @@ go mod edit -go=1.9
 grep 'go 1.9' go.mod
 go build
 
+# Reverting the version should force a rebuild and error instead of using
+# the cached 1.9 build. (https://golang.org/issue/37804)
+go mod edit -go=1.8
+! go build
+stderr 'type aliases only supported as of'
+
+
 -- go.mod --
 module m
 go 1.8