Skip to content
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

Merged
merged 1 commit into from
Jul 7, 2020
Merged

Replace build with cross-compile #384

merged 1 commit into from
Jul 7, 2020

Conversation

owais
Copy link
Contributor

@owais owais commented Jul 2, 2020

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.

@owais owais requested a review from a team as a code owner July 2, 2020 02:07
@codecov
Copy link

codecov bot commented Jul 2, 2020

Codecov Report

Merging #384 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #384   +/-   ##
=======================================
  Coverage   84.02%   84.02%           
=======================================
  Files         178      178           
  Lines        9529     9529           
=======================================
  Hits         8007     8007           
  Misses       1196     1196           
  Partials      326      326           
Flag Coverage Δ
#integration 63.31% <ø> (ø)
#unit 83.82% <ø> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6a8ece4...515fc0c. Read the comment docs.

@owais owais added this to In progress in Collector via automation Jul 2, 2020
@owais owais changed the title Remove build step from publish workflow Replace build with cross-compile Jul 2, 2020
Copy link
Member

@james-bebbington james-bebbington left a 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?

Collector automation moved this from In progress to Reviewer approved Jul 7, 2020
@owais
Copy link
Contributor Author

owais commented Jul 7, 2020

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.

@bogdandrutu
Copy link
Member

@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.
@owais
Copy link
Contributor Author

owais commented Jul 7, 2020

Renamed. Watching CI build.

@bogdandrutu bogdandrutu merged commit 9bdff63 into open-telemetry:master Jul 7, 2020
Collector automation moved this from Reviewer approved to Done Jul 7, 2020
wyTrivail referenced this pull request in mxiamxia/opentelemetry-collector-contrib Jul 13, 2020
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.
mxiamxia referenced this pull request in mxiamxia/opentelemetry-collector-contrib Jul 22, 2020
* Account for dropped timeseries in the Prometheus metric adjuster

* Use assert in unit test
@owais owais deleted the persist-cross-compiled-bins branch July 14, 2021 11:21
bogdandrutu pushed a commit that referenced this pull request May 12, 2022
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>
codeboten pushed a commit that referenced this pull request Nov 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Collector
  
Done
Development

Successfully merging this pull request may close these issues.

None yet

5 participants