]> Cypherpunks repositories - gostls13.git/commitdiff
[release-branch.go1.13] 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)
committerDmitri Shuralyov <dmitshur@golang.org>
Thu, 12 Mar 2020 15:40:55 +0000 (15:40 +0000)
Fixes #37821
Updates #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>
(cherry picked from commit c95708462fb24f379f4bcdedd6ea664ee38ea562)
Reviewed-on: https://go-review.googlesource.com/c/go/+/223142
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
src/cmd/go/internal/work/exec.go
src/cmd/go/testdata/script/mod_edit_go.txt

index 7dd9a90c18695666e6d26976d058f0c851babaf9..892e3cb5009927229798dcb91f91b7718b42ebd3 100644 (file)
@@ -208,6 +208,9 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
        if !p.Goroot && !cfg.BuildTrimpath && !strings.HasPrefix(p.Dir, b.WorkDir) {
                fmt.Fprintf(h, "dir %s\n", p.Dir)
        }
+       if p.Module != nil {
+               fmt.Fprintf(h, "go %s\n", 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