• Martin Atkins's avatar
    build: Update most things for Go 1.11 modules · c133de86
    Martin Atkins authored
    We're still using vendoring for now until we get _all_ of our tooling
    updated, so the main idea here is to force use of the vendor directory
    when running tests and building for development so we can quickly find
    situations where we forget to run "go mod vendor".
    
    We also setting GO111MODULE=off for installation of tools. Right now this
    is the best way to install a tool in GOBIN without also interfering with
    go.mod and go.sum, until a better pattern for managing tool dependencies
    is devised by the Go team.
    
    Finally, we run "go mod download" before launching "gox" in the main
    build process, to prime the local module cache once so that the concurrent
    "go build" processes won't race to populate it redundantly. This means
    that we'll be producing final builds from the module cache rather than
    from vendor as with everything else -- there's currently no way to tell
    gox to use -mod=vendor -- but that should be fine in practice since
    our go.sum file will ensure that we get the exact sources we expect in
    the module cache before building.
    c133de86