-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Replace build with cross-compile #384
Replace build with cross-compile #384
Conversation
Codecov Report
@@ Coverage Diff @@
## master #384 +/- ##
=======================================
Coverage 84.02% 84.02%
=======================================
Files 178 178
Lines 9529 9529
=======================================
Hits 8007 8007
Misses 1196 1196
Partials 326 326
Continue to review full report at Codecov.
|
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.
LGTM.
I guess this may make the overall build time slightly slower since the cross-compile
step generally takes slightly longer than the (old) build
step, even though it runs in parallel. To gain back some time, I wonder if the loadtest
step actually needs to depend on the build
step or if it could be changed to just run after setup
?
You're right. This will make it a big slower but loadtest needs the binary from the build step in order to run tests against it. |
@owais please keep the name cross-compile as I did in https://github.com/open-telemetry/opentelemetry-collector/pull/1272/files |
Publish builds binaries for all supported platforms with the cross-compile job. Running the build job is redundant for this workflow as the amd64 linux binary is overwritten by cross-compile anyway. Also this can cause CI job to fail if build and cross-compile both persist the same files to CI workspace. However, using cross-compile for publish workflow and only build for regular PR workflow is a bit awkward and adds unnecessary complexity to the CI workflow definition. It is far simpler to just replace build with cross-compile. This means all PR builds will attempt to build binaries for all supported platforms even if we loadtest only linux amd64 right now. I think is a good outcome anyway as PR CI jobs can now catch issues that prevent the collector from building for any of the supported architectures. This also paves the way to enable functional/integration/load testing for all platforms and architectures.
Renamed. Watching CI build. |
Publish builds binaries for all supported platforms with the cross-compile job. Running the build job is redundant for this workflow as the amd64 linux binary is overwritten by cross-compile anyway. Also this can cause CI job to fail if build and cross-compile both persist the same files to CI workspace. However, using cross-compile for publish workflow and only build for regular PR workflow is a bit awkward and adds unnecessary complexity to the CI workflow definition. It is far simpler to just replace build with cross-compile. This means all PR builds will attempt to build binaries for all supported platforms even if we loadtest only linux amd64 right now. I think is a good outcome anyway as PR CI jobs can now catch issues that prevent the collector from building for any of the supported architectures. This also paves the way to enable functional/integration/load testing for all platforms and architectures.
* Account for dropped timeseries in the Prometheus metric adjuster * Use assert in unit test
Bumps [go.uber.org/zap](https://github.com/uber-go/zap) from 1.20.0 to 1.21.0. - [Release notes](https://github.com/uber-go/zap/releases) - [Changelog](https://github.com/uber-go/zap/blob/master/CHANGELOG.md) - [Commits](uber-go/zap@v1.20.0...v1.21.0) --- updated-dependencies: - dependency-name: go.uber.org/zap dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Publish builds binaries for all supported platforms with the cross-compile job.
Running the build job is redundant for this workflow
as the amd64 linux binary is overwritten by cross-compile anyway.
Also this can cause CI job to fail if build and cross-compile both persist
the same files to CI workspace. However, using cross-compile for publish
workflow and only build for regular PR workflow is a bit awkward and
adds unnecessary complexity to the CI workflow definition. It is far
simpler to just replace build with cross-compile. This means all PR
builds will attempt to build binaries for all supported platforms even
if we loadtest only linux amd64 right now. I think is a good outcome
anyway as PR CI jobs can now catch issues that prevent the collector
from building for any of the supported architectures. This also paves
the way to enable functional/integration/load testing for all platforms
and architectures.