Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This change updates Veneur to use Go modules.
Steps taken:
go mod init github.com/stripe/veneur
, which copied the dependency info fromGopkg.lock
go test ./...
as a simple sanity check and was informed that vendoring was inconsistent, so I rango mod vendor
replace github.com/hashicorp/consul => github.com/hashicorp/consul v1.5.1
outlined in this issuego mod vendor
; completed without issue this timeDockerfile
to use modules, ran into gogo protobuf issues, so I pointedprotoc
to look in$GOPATH/pkg/mod
instead of$GOPATH/src
for its dependency ongogo.proto
. Updatedtdigest.proto
to import from the updated spot.stringer
usage ingenerate.go
to use a relative path since it was unable to find the type definitions otherwise (it’s unclear why stringer was pinned to a revision but gojson was not)Dockerfile
to use Go 1.15 and useLABEL
instead ofMAINTAINER
sinceMAINTAINER
is deprecatedconfig.yml
to reflect changes made toDockerfile
go mod tidy
at one pointDocker build
completes without issue. CircleCI tests complete without issue. 🥳Motivation
dep is no longer maintained, and modules are the officially supported dependency management solution for Go. This allows the project to use the latest tooling and unblocks some other efforts as well.
Test plan
All tests should pass.
Rollout/monitoring/revert plan
There should be no changes to rollout. Safe to revert only if commit is recent enough that it won’t break future changes to dependencies. Please cc @ChimeraCoder and @andybons-stripe if you do.