ci: fix bad testscript file name and update CI with module get check

At the time of writing the following fails:

  $ GOPROXY=direct go get cuelang.org/go@master
  go: downloading cuelang.org/go v0.1.3-0.20200514071537-8be0ffe84d2e
  go get cuelang.org/go@master: create zip: malformed file path "cue/testdata/fulleval/026_don't_convert_incomplete_errors_to_non-incomplete.txtar": invalid char '\''

Fix this immediate problem (and others), but also add a check to the CI
test on master to pull the version being tested through proxy.golang.org
as a sanity check (which would have failed in this case). We also use
gorelease to check this for the current commit, master or otherwise.

The duplication between test.yml and test_dipatch.yml (which led to a
skew in the versions of Go being tested, also fixed in this CL) will be
fixed in a later CL when we move the GitHub actions config to CUE :)

Change-Id: I6a89087a24f95917037b5e95b2cedd067d91b621
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/6061
Reviewed-by: CUE cueckoo <cueckoo@gmail.com>
Reviewed-by: Marcel van Lohuizen <mpvl@golang.org>
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 7df84f5..056b573 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -8,11 +8,16 @@
       - 'v*'
   pull_request:
 
+defaults:
+  run:
+    shell: bash
+
 jobs:
   test:
     strategy:
+      fail-fast: false
       matrix:
-        go-version: [1.12.x, 1.13.x]
+        go-version: [1.13.x, 1.14.x]
         platform: [ubuntu-latest, macos-latest, windows-latest]
     runs-on: ${{ matrix.platform }}
     steps:
@@ -36,3 +41,14 @@
       run: go test ./...
     - name: Test with -race
       run: go test -race ./...
+
+    - name: gorelease check
+      run: go run -modfile=./.tools/go.mod golang.org/x/exp/cmd/gorelease
+
+    - name: Pull this commit through the proxy on master
+      if: github.ref == 'refs/heads/master'
+      run: |
+        v=$(git rev-parse HEAD)
+        cd $(mktemp -d)
+        go mod init mod.com
+        GOPROXY=https://proxy.golang.org go get cuelang.org/go@$v
diff --git a/.tools/go.mod b/.tools/go.mod
new file mode 100644
index 0000000..d21ecab
--- /dev/null
+++ b/.tools/go.mod
@@ -0,0 +1,5 @@
+module cuelang.org/go
+
+go 1.12
+
+require golang.org/x/exp v0.0.0-20200513190911-00229845015e
diff --git a/.tools/go.sum b/.tools/go.sum
new file mode 100644
index 0000000..6e5aeb2
--- /dev/null
+++ b/.tools/go.sum
@@ -0,0 +1,26 @@
+dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
+github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
+github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
+golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20200513190911-00229845015e h1:rMqLP+9XLy+LdbCXHjJHAmTfXCr93W7oruWA6Hq1Alc=
+golang.org/x/exp v0.0.0-20200513190911-00229845015e/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw=
+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/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
+golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
+golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b h1:GgiSbuUyC0BlbUmHQBgFqu32eiRR/CEYdjOjOd4zE6Y=
+golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
+golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa h1:5E4dL8+NgFOgjwbTKz+OOEGGhP+ectTmF842l6KjupQ=
+golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898 h1:/atklqdjdhuosWIl6AIbOeHJjicWYPqR9bpxqxYG2pA=
+golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
diff --git a/.tools/tools.go b/.tools/tools.go
new file mode 100644
index 0000000..1cfd811
--- /dev/null
+++ b/.tools/tools.go
@@ -0,0 +1,7 @@
+// +build tools
+
+package tools
+
+import (
+	_ "golang.org/x/exp/cmd/gorelease"
+)
diff --git "a/cue/testdata/fulleval/026_don\047t_convert_incomplete_errors_to_non-incomplete.txtar" b/cue/testdata/fulleval/026_dont_convert_incomplete_errors_to_non-incomplete.txtar
similarity index 100%
rename from "cue/testdata/fulleval/026_don\047t_convert_incomplete_errors_to_non-incomplete.txtar"
rename to cue/testdata/fulleval/026_dont_convert_incomplete_errors_to_non-incomplete.txtar
diff --git "a/cue/testdata/fulleval/047_don\047t_bind_to_string_labels.txtar" b/cue/testdata/fulleval/047_dont_bind_to_string_labels.txtar
similarity index 100%
rename from "cue/testdata/fulleval/047_don\047t_bind_to_string_labels.txtar"
rename to cue/testdata/fulleval/047_dont_bind_to_string_labels.txtar
diff --git "a/cue/testdata/fulleval/048_don\047t_pass_incomplete_values_to_builtins.txtar" b/cue/testdata/fulleval/048_dont_pass_incomplete_values_to_builtins.txtar
similarity index 100%
rename from "cue/testdata/fulleval/048_don\047t_pass_incomplete_values_to_builtins.txtar"
rename to cue/testdata/fulleval/048_dont_pass_incomplete_values_to_builtins.txtar