git » chasquid » commit 2e1e188

travis: Enable Go modules in 1.11

author Alberto Bertogli
2020-04-14 10:39:48 UTC
committer Alberto Bertogli
2020-04-14 11:00:57 UTC
parent 2b9c2df9d3d9d9767ffda4f591e10f3cace55f92

travis: Enable Go modules in 1.11

Currently the modules are ignored in the Go 1.11 build, because the
files are within $GOPATH.

This causes problems when some dependencies are updated in
backwards-incompatible ways, and assuming that Go modules are being
used. In particular, the new protobuf release caused this problem which
was caught by the automated builds:
https://travis-ci.org/github/albertito/chasquid/jobs/674701956.

This patch enables Go modules in 1.11 builds.

Thanks to Jonas Seydel (thor77) for the help investigating and finding a
fix for this problem.

.travis.yml +9 -1

diff --git a/.travis.yml b/.travis.yml
index 29ee46d..0d79645 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -7,10 +7,18 @@ sudo: false
 
 go:
     # Check against the version in Debian stable.
-    - 1.11
+    - 1.11.x
     - stable
     - master
 
+env:
+  # Enable Go modules explicitly on Go 1.11.
+  # Some packages update in backwards-incompatible ways assuming Go modules
+  # are in use, which can break the build unexpectedly.
+  # We can remove this once we no longer support Go 1.11, as it is the default
+  # in the newer versions.
+  - GO111MODULE=on
+
 # This is needed because the repository has a Makefile, so travis won't invoke
 # "go get" by default.
 install: