-
Notifications
You must be signed in to change notification settings - Fork 193
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce instrumentation-specific Go modules #405
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
axw
force-pushed
the
tidy-dependencies
branch
2 times, most recently
from
January 4, 2019 07:00
7e29000
to
b2d191f
Compare
Codecov Report
@@ Coverage Diff @@
## master #405 +/- ##
==========================================
+ Coverage 80.97% 83.15% +2.18%
==========================================
Files 104 104
Lines 6396 6370 -26
==========================================
+ Hits 5179 5297 +118
+ Misses 932 787 -145
- Partials 285 286 +1
Continue to review full report at Codecov.
|
axw
force-pushed
the
tidy-dependencies
branch
2 times, most recently
from
January 7, 2019 10:51
f59a036
to
79eb9d0
Compare
Remove test dependencies where unnecessary, e.g. the use of apmhttp in apm and apmredigo for cheap integration testing. Unfortunately test dependencies leak into go.mod, so these dependencies will cause more harm than good.
Vendor the opentracing-go test harness until a new opentracing-go release has been made. This allows us to use a semantic version in go.mod, rather than pinning a specific commit.
Add a tool for updating/checking Go module definitions. We ensure that the modules' requirements are minimally complete, and the minimum module versions are set to the current agent version.
axw
force-pushed
the
tidy-dependencies
branch
3 times, most recently
from
January 17, 2019 05:27
ddd70a3
to
305b284
Compare
- elastic/go-sysinfo - golang.org/x/sys - howett.net/plist
We're now optimising for Go modules. Users may vendor in their own projects.
Use bash, not sh.
axw
force-pushed
the
tidy-dependencies
branch
from
January 17, 2019 08:45
87b7d92
to
4871e05
Compare
Add a script that will create and push tags to the upstream repo, for each module.
axw
force-pushed
the
tidy-dependencies
branch
from
January 17, 2019 10:20
4871e05
to
981178c
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR started out with me removing some vendored packages, which escalated when I realised that the go.mod we had was woefully incomplete. The simple change would have been to run "go mod tidy", adding all of the missing dependencies; that would meant adding all of the upstream packages for all of the instrumentation modules to the top-level go.mod. If you wanted to to instrument Gin, you would have been forced to pull down gRPC-Go, Echo, Beego, etc. Not ideal.
So instead, each instrumentation module/package is now its own Go module. We will version each module identically and they will move in lock-step to achieve the same versioning as we have today. This will be enforced by new tooling in
scripts/genmod
, which will be run in CI; the tool will also ensure that the module definitions are minimally complete.This change must not be merged until we're ready to tag and release v1.2.0.
Closes #389