-
Notifications
You must be signed in to change notification settings - Fork 19
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
Avoid redownloading all dependencies (protoc, gogo) #337
Conversation
967aa09
to
9ac0051
Compare
a6b0bca
to
ecba6e7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@leeavital Left a few comments
2275071
to
cb1c8de
Compare
a189dd3
to
b2c1e8e
Compare
7288c0a
to
0bc0e1a
Compare
0bc0e1a
to
628bfc1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@leeavital Left some comments
Rakefile
Outdated
fi | ||
|
||
mkdir -p #{toolchain_include_dir} | ||
echo "here" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
echo "here" |
Rakefile
Outdated
|
||
echo "Generating process proto (go)" | ||
PATH=/tmp/gogo-bin-v1.3.2 #{protoc_legacy_binary} --proto_path=$GOPATH/src:#{gogo_dir}/src:. --gogofaster_out=$GOPATH/src proto/process/*.proto | ||
PATH=#{toolchain_bin_dir} #{protoc_binary} --proto_path=#{toolchain_legacy_include_dir}:#{gogo_include}:. --gogofaster_out=$GOPATH/src proto/process/*.proto |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it intended to change from protoc_legacy_binary
to protoc_binary
here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It was not, but I think since CI is verifying that the generated code isn't changing it's fine to upgrade (that's an expected outcome since both should just call the gogofaster binary )
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm - I'm a bit afraid of unintended changes to be honest of which I'm not fully sure of in the broader scope. Maybe this can be split out into a separate PR to ensure 1:1 functionality in this one?
Rakefile
Outdated
GOPATH=#{toolchain_dir} go install github.com/leeavital/protoc-gen-gostreamer@v0.1.0 | ||
GOPATH=#{toolchain_dir} go install github.com/leeavital/protoc-gen-gostreamer@v0.1.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
GOPATH=#{toolchain_dir} go install github.com/leeavital/protoc-gen-gostreamer@v0.1.0 | |
GOPATH=#{toolchain_dir} go install github.com/leeavital/protoc-gen-gostreamer@v0.1.0 | |
GOPATH=#{toolchain_dir} go install github.com/leeavital/protoc-gen-gostreamer@v0.1.0 |
Rakefile
Outdated
PATH=#{protoc_gen_go_dir}/bin #{protoc_legacy_binary} --proto_path=$GOPATH/src:#{gogo_dir}/src:. --gostreamer_out=$GOPATH/src proto/process/*.proto | ||
GOPATH=#{toolchain_dir} go install github.com/leeavital/protoc-gen-gostreamer@v0.1.0 | ||
GOPATH=#{toolchain_dir} go install github.com/leeavital/protoc-gen-gostreamer@v0.1.0 | ||
PATH=#{toolchain_bin_dir} #{protoc_binary} --proto_path=$GOPATH/src:#{gogo_dir}/src:. --gostreamer_out=$GOPATH/src proto/process/*.proto |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it intended to change from protoc_legacy_binary
to protoc_binary
here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same answer as above
|
||
echo "Generating contlcycle proto" | ||
PATH=#{protoc_gen_go_dir}/bin #{protoc_binary} --proto_path=$GOPATH/src:. --go_out=$GOPATH/src proto/contlcycle/contlcycle.proto | ||
PATH=#{toolchain_bin_dir} #{protoc_binary} --proto_path=#{toolchain_legacy_include_dir}:. --go_out=$GOPATH/src proto/contlcycle/contlcycle.proto |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should the proto path be toolchain_legacy_include_dir or toolchain_include_dir?
PS: I see a number of these occurrences below too
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's actually supposed to be the legacy include directory. I was suprised too and it took me a bit of digging to discovery this.
If you use the new include directory, then the go types will be subtly different (i.e. use google.golang.org/protobuf/types instead of the deprecated github.com/golang/protobuf/ptypes). This is probably fine, but technically a break that should be tested separately, so I'm keeping the old behavior in this PR
00b3937
to
9dc090c
Compare
2e1c636
to
43bbb15
Compare
@sgnn7 this should be ready for another review |
43bbb15
to
2bd7953
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a note that we may want to split the conversion from old to new protobuf in some lines to a separate PR but it shouldn't be a blocker I think.
Adds a `rake setup_gogo` task which will clone gogo into a new toolchains directory (which is git ignored). On every run of codegen, we'll checkout a pinned version of gogo and rebuild it. This should be pretty fast as long as gogo is already checked out. This PR also adds a new 'toolchains' location where all dependencies are cached. Before we were jumbling a bunch of dependencies into /tmp. This led to a weird case where we were accidentally (?) using a new protobuf compiler with a legacy .proto library (for stuff like google.Duration). This is now explicit. The structure of the new toolchains is described in the Rakefile
2bd7953
to
107b12d
Compare
/merge |
🚂 MergeQueue: pull request added to the queue The median merge time in Use |
In #337 we discovered that CWS payloads were being generated with a new protobuf compiler but an older set of common type definitions. This change updates the generated code to be generated with new common type definitions. The old generated code is not a problem today, but might become an issue if we need to update the protobuf stack for some reason in the future. Per the [version support policy](https://protobuf.dev/support/version-support/#changes), the wireformat will not change, however the generated code can (and does, in this PR) change which might make integrating these changes hard. The main difference is that common types like 'timestamp' now use go types like 'google.golang.org/protobuf/types/known/timestamppb instead of github.com/golang/protobuf/ptypes/timestamp.
In #337 we discovered that CWS payloads were being generated with a new protobuf compiler but an older set of common type definitions. This change updates the generated code to be generated with new common type definitions. The old generated code is not a problem today, but might become an issue if we need to update the protobuf stack for some reason in the future. Per the [version support policy](https://protobuf.dev/support/version-support/#changes), the wireformat will not change, however the generated code can (and does, in this PR) change which might make integrating these changes hard. The main difference is that common types like 'timestamp' now use go types like 'google.golang.org/protobuf/types/known/timestamppb instead of github.com/golang/protobuf/ptypes/timestamp.
This updates contlcycle, autoscaling, and contimage to generate their payloads using non-deprecated shared protobuf definitions. This will help us reduce some cruft in the build script. The changes are wire compatible, but the generated go code might not compile cleanly into the agent/backend. See for context * #337 * #342
This updates contlcycle, autoscaling, and contimage to generate their payloads using non-deprecated shared protobuf definitions. This will help us reduce some cruft in the build script. The changes are wire compatible, but the generated go code might not compile cleanly into the agent/backend. See for context * #337 * #342
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/DataDog/agent-payload/v5](https://github.com/DataDog/agent-payload) | `v5.0.131` -> `v5.0.132` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fagent-payload%2fv5/v5.0.132?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fagent-payload%2fv5/v5.0.132?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fagent-payload%2fv5/v5.0.131/v5.0.132?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fagent-payload%2fv5/v5.0.131/v5.0.132?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/comp/core/config](https://github.com/DataDog/datadog-agent) | `v0.56.2` -> `v0.57.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fcore%2fconfig/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fcore%2fconfig/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fcore%2fconfig/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fcore%2fconfig/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/comp/core/hostname/hostnameinterface](https://github.com/DataDog/datadog-agent) | `v0.56.2` -> `v0.57.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fcore%2fhostname%2fhostnameinterface/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fcore%2fhostname%2fhostnameinterface/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fcore%2fhostname%2fhostnameinterface/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fcore%2fhostname%2fhostnameinterface/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/comp/logs/agent/config](https://github.com/DataDog/datadog-agent) | `v0.56.2` -> `v0.57.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2flogs%2fagent%2fconfig/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2flogs%2fagent%2fconfig/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2flogs%2fagent%2fconfig/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2flogs%2fagent%2fconfig/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline](https://github.com/DataDog/datadog-agent) | `v0.56.2` -> `v0.57.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2flogsagentpipeline/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2flogsagentpipeline/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2flogsagentpipeline/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2flogsagentpipeline/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/comp/otelcol/logsagentpipeline/logsagentpipelineimpl](https://github.com/DataDog/datadog-agent) | `v0.56.2` -> `v0.57.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2flogsagentpipeline%2flogsagentpipelineimpl/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2flogsagentpipeline%2flogsagentpipelineimpl/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2flogsagentpipeline%2flogsagentpipelineimpl/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2flogsagentpipeline%2flogsagentpipelineimpl/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/metricsclient](https://github.com/DataDog/datadog-agent) | `v0.56.2` -> `v0.57.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2fotlp%2fcomponents%2fmetricsclient/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2fotlp%2fcomponents%2fmetricsclient/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2fotlp%2fcomponents%2fmetricsclient/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2fotlp%2fcomponents%2fmetricsclient/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/comp/otelcol/otlp/components/statsprocessor](https://github.com/DataDog/datadog-agent) | `v0.56.2` -> `v0.57.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2fotlp%2fcomponents%2fstatsprocessor/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2fotlp%2fcomponents%2fstatsprocessor/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2fotlp%2fcomponents%2fstatsprocessor/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2fotelcol%2fotlp%2fcomponents%2fstatsprocessor/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/comp/trace/compression/impl-gzip](https://github.com/DataDog/datadog-agent) | `v0.56.2` -> `v0.57.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2ftrace%2fcompression%2fimpl-gzip/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2ftrace%2fcompression%2fimpl-gzip/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2ftrace%2fcompression%2fimpl-gzip/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fcomp%2ftrace%2fcompression%2fimpl-gzip/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/pkg/config/model](https://github.com/DataDog/datadog-agent) | `v0.56.2` -> `v0.57.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fconfig%2fmodel/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fconfig%2fmodel/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fconfig%2fmodel/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fconfig%2fmodel/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/pkg/config/setup](https://github.com/DataDog/datadog-agent) | `v0.56.2` -> `v0.57.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fconfig%2fsetup/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fconfig%2fsetup/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fconfig%2fsetup/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fconfig%2fsetup/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/pkg/logs/sources](https://github.com/DataDog/datadog-agent) | `v0.56.2` -> `v0.57.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2flogs%2fsources/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2flogs%2fsources/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2flogs%2fsources/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2flogs%2fsources/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/pkg/obfuscate](https://github.com/DataDog/datadog-agent) | `v0.56.2` -> `v0.57.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fobfuscate/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fobfuscate/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fobfuscate/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fobfuscate/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/pkg/proto](https://github.com/DataDog/datadog-agent) | `v0.56.2` -> `v0.57.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fproto/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fproto/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fproto/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2fproto/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/pkg/trace](https://github.com/DataDog/datadog-agent) | `v0.56.2` -> `v0.57.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2ftrace/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2ftrace/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2ftrace/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2ftrace/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-agent/pkg/util/hostname/validate](https://github.com/DataDog/datadog-agent) | `v0.56.2` -> `v0.57.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2futil%2fhostname%2fvalidate/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2futil%2fhostname%2fvalidate/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2futil%2fhostname%2fvalidate/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-agent%2fpkg%2futil%2fhostname%2fvalidate/v0.56.2/v0.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/datadog-api-client-go/v2](https://github.com/DataDog/datadog-api-client-go) | `v2.29.0` -> `v2.30.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fdatadog-api-client-go%2fv2/v2.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fdatadog-api-client-go%2fv2/v2.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fdatadog-api-client-go%2fv2/v2.29.0/v2.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fdatadog-api-client-go%2fv2/v2.29.0/v2.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata](https://github.com/DataDog/opentelemetry-mapping-go) | `v0.19.0` -> `v0.20.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fopentelemetry-mapping-go%2fpkg%2finframetadata/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fopentelemetry-mapping-go%2fpkg%2finframetadata/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fopentelemetry-mapping-go%2fpkg%2finframetadata/v0.19.0/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fopentelemetry-mapping-go%2fpkg%2finframetadata/v0.19.0/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/attributes](https://github.com/DataDog/opentelemetry-mapping-go) | `v0.19.0` -> `v0.20.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fopentelemetry-mapping-go%2fpkg%2fotlp%2fattributes/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fopentelemetry-mapping-go%2fpkg%2fotlp%2fattributes/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fopentelemetry-mapping-go%2fpkg%2fotlp%2fattributes/v0.19.0/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fopentelemetry-mapping-go%2fpkg%2fotlp%2fattributes/v0.19.0/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/logs](https://github.com/DataDog/opentelemetry-mapping-go) | `v0.19.0` -> `v0.20.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fopentelemetry-mapping-go%2fpkg%2fotlp%2flogs/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fopentelemetry-mapping-go%2fpkg%2fotlp%2flogs/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fopentelemetry-mapping-go%2fpkg%2fotlp%2flogs/v0.19.0/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fopentelemetry-mapping-go%2fpkg%2fotlp%2flogs/v0.19.0/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/opentelemetry-mapping-go/pkg/otlp/metrics](https://github.com/DataDog/opentelemetry-mapping-go) | `v0.19.0` -> `v0.20.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fopentelemetry-mapping-go%2fpkg%2fotlp%2fmetrics/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fopentelemetry-mapping-go%2fpkg%2fotlp%2fmetrics/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fopentelemetry-mapping-go%2fpkg%2fotlp%2fmetrics/v0.19.0/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fopentelemetry-mapping-go%2fpkg%2fotlp%2fmetrics/v0.19.0/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/DataDog/opentelemetry-mapping-go/pkg/quantile](https://github.com/DataDog/opentelemetry-mapping-go) | `v0.19.0` -> `v0.20.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fDataDog%2fopentelemetry-mapping-go%2fpkg%2fquantile/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fDataDog%2fopentelemetry-mapping-go%2fpkg%2fquantile/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fDataDog%2fopentelemetry-mapping-go%2fpkg%2fquantile/v0.19.0/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fDataDog%2fopentelemetry-mapping-go%2fpkg%2fquantile/v0.19.0/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>DataDog/agent-payload (github.com/DataDog/agent-payload/v5)</summary> ### [`v5.0.132`](https://github.com/DataDog/agent-payload/releases/tag/v5.0.132) [Compare Source](https://github.com/DataDog/agent-payload/compare/v5.0.131...v5.0.132) ##### What's Changed - \[NPM-3609] add docs to connections.proto by [@​leeavital](https://github.com/leeavital) in [https://github.com/DataDog/agent-payload/pull/336](https://github.com/DataDog/agent-payload/pull/336) - Adjust constants in rakefile by [@​leeavital](https://github.com/leeavital) in [https://github.com/DataDog/agent-payload/pull/339](https://github.com/DataDog/agent-payload/pull/339) - Avoid redownloading all dependencies (protoc, gogo) by [@​leeavital](https://github.com/leeavital) in [https://github.com/DataDog/agent-payload/pull/337](https://github.com/DataDog/agent-payload/pull/337) - Update CWS payloads off deprecated protobuf types by [@​leeavital](https://github.com/leeavital) in [https://github.com/DataDog/agent-payload/pull/342](https://github.com/DataDog/agent-payload/pull/342) **Full Changelog**: DataDog/agent-payload@v5.0.131...v5.0.132 </details> <details> <summary>DataDog/datadog-api-client-go (github.com/DataDog/datadog-api-client-go/v2)</summary> ### [`v2.30.0`](https://github.com/DataDog/datadog-api-client-go/releases/tag/v2.30.0) [Compare Source](https://github.com/DataDog/datadog-api-client-go/compare/v2.29.0...v2.30.0) <!-- Release notes generated using configuration in .github/release.yml at v2.30.0 --> ##### What's Changed ##### Fixed - Add `is_totp` and `is_fido` to Synthetic global variables by [@​api-clients-generation-pipeline](https://github.com/api-clients-generation-pipeline) in [https://github.com/DataDog/datadog-api-client-go/pull/2582](https://github.com/DataDog/datadog-api-client-go/pull/2582) ##### Added - Add `api_key` and `name` to `CloudflareAccountResponseAttributes`. by [@​api-clients-generation-pipeline](https://github.com/api-clients-generation-pipeline) in [https://github.com/DataDog/datadog-api-client-go/pull/2631](https://github.com/DataDog/datadog-api-client-go/pull/2631) - Add `api_key` and `name` to `FastlyAccountUpdateRequestAttributes`. by [@​api-clients-generation-pipeline](https://github.com/api-clients-generation-pipeline) in [https://github.com/DataDog/datadog-api-client-go/pull/2632](https://github.com/DataDog/datadog-api-client-go/pull/2632) - Add `opsgenie_api_key` to `OpsgenieServiceResponseAttributes`. by [@​api-clients-generation-pipeline](https://github.com/api-clients-generation-pipeline) in [https://github.com/DataDog/datadog-api-client-go/pull/2633](https://github.com/DataDog/datadog-api-client-go/pull/2633) - Add `category` and `remote_config_read_enabled` to `APIKeyCreateAttributes`, and add `LeakedKey`. by [@​api-clients-generation-pipeline](https://github.com/api-clients-generation-pipeline) in [https://github.com/DataDog/datadog-api-client-go/pull/2634](https://github.com/DataDog/datadog-api-client-go/pull/2634) - Allow 4 group-bys for pattern viz by [@​api-clients-generation-pipeline](https://github.com/api-clients-generation-pipeline) in [https://github.com/DataDog/datadog-api-client-go/pull/2642](https://github.com/DataDog/datadog-api-client-go/pull/2642) - add url attribute to metrics assets v2 api by [@​api-clients-generation-pipeline](https://github.com/api-clients-generation-pipeline) in [https://github.com/DataDog/datadog-api-client-go/pull/2644](https://github.com/DataDog/datadog-api-client-go/pull/2644) - Add editable field to suppression rule by [@​api-clients-generation-pipeline](https://github.com/api-clients-generation-pipeline) in [https://github.com/DataDog/datadog-api-client-go/pull/2545](https://github.com/DataDog/datadog-api-client-go/pull/2545) - Add `num_flex_logs_retention_days` field to logs_indexes api spec by [@​api-clients-generation-pipeline](https://github.com/api-clients-generation-pipeline) in [https://github.com/DataDog/datadog-api-client-go/pull/2645](https://github.com/DataDog/datadog-api-client-go/pull/2645) - Software catalog openapi spec by [@​api-clients-generation-pipeline](https://github.com/api-clients-generation-pipeline) in [https://github.com/DataDog/datadog-api-client-go/pull/2641](https://github.com/DataDog/datadog-api-client-go/pull/2641) ##### Changed - allow variables in port by [@​api-clients-generation-pipeline](https://github.com/api-clients-generation-pipeline) in [https://github.com/DataDog/datadog-api-client-go/pull/2624](https://github.com/DataDog/datadog-api-client-go/pull/2624) - Fix VFTs and extracted local variables enum types by [@​api-clients-generation-pipeline](https://github.com/api-clients-generation-pipeline) in [https://github.com/DataDog/datadog-api-client-go/pull/2604](https://github.com/DataDog/datadog-api-client-go/pull/2604) - Changed Widget time schema to add support for new fixed_span and live_span object by [@​api-clients-generation-pipeline](https://github.com/api-clients-generation-pipeline) in [https://github.com/DataDog/datadog-api-client-go/pull/2629](https://github.com/DataDog/datadog-api-client-go/pull/2629) ##### Deprecated - mark groupby_simple_monitor as deprecated by [@​api-clients-generation-pipeline](https://github.com/api-clients-generation-pipeline) in [https://github.com/DataDog/datadog-api-client-go/pull/2658](https://github.com/DataDog/datadog-api-client-go/pull/2658) **Full Changelog**: DataDog/datadog-api-client-go@v2.29.0...v2.30.0 </details> <details> <summary>DataDog/opentelemetry-mapping-go (github.com/DataDog/opentelemetry-mapping-go/pkg/inframetadata)</summary> ### [`v0.20.0`](https://github.com/DataDog/opentelemetry-mapping-go/blob/HEAD/CHANGELOG.md#v0200) ##### 💡 Enhancements 💡 - `pkg/otlp/attributes`: Map the new OTel semantic convention `deployment.environment.name` to `env` ([#​400](https://github.com/DataDog/opentelemetry-mapping-go/issues/400)) Mapping of the old convention `deployment.environment` stays the same </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGVib3QiXX0=--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com> Co-authored-by: Yang Song <songy23@users.noreply.github.com>
As described in #337 we used to use two different protobuf compilers in this repo. Now we only use one, so we can get rid of references to the old one.
As described in #337 we used to use two different protobuf compilers in this repo. Now we only use one, so we can get rid of references to the old one.
What does this PR do?
Adds a
rake setup_gogo
task which will clone gogo into a new toolchains directory (which is git ignored).On every run of codegen, we'll checkout a pinned version of gogo and rebuild it. This should be pretty fast as long as gogo is already checked out.
This PR also adds a new 'toolchains' location where all dependencies are cached. Before we were jumbling a bunch of dependencies into /tmp.
This led to a weird case where we were accidentally (?) using a new protobuf compiler with a legacy .proto library (for stuff like google.Duration). This is now explicit.
The structure of the new toolchains is described in the Rakefile
Reviewer's Checklist
Reviewers: please see the review guidelines.