We never really want to build this, but it makes `go get ./...`
complain because it imports programs (and not modules), so add
a build flag.
FYI this is known as the "tools.go" pattern, as discussed here:
- https://github.com/golang/go/issues/25922
github.com/gopherjs/gopherjs no longer supports new Go versions and
doing a full perkeep build currently requires go 1.12.
This moves to github.com/goplusjs/gopherjs which supports new Go
version. Building perkeep no longer requires go 1.12.
- Support building webui with just go 1.15
- Before this PR, reactGen was built from the vendor directory.
Now, it is built with gomodules. We can't run it with `go run`
because it breaks myitcv.io/gogenerate which they use to determine
what file to compile.
- go.mod: require go 1.15
- goplusjs/gopherjs is built and ran with gomodules. We run it
with go run github.com/goplusjs/gopherjs
- Add test-tidy workflow to ensure that go.mod can't drift.
- We use go run -mod=readonly so packages are not sneakily updated.
Any update in go.mod should be voluntary.