Skip to content

Add OpenLab CI configuration for ARM64 build#3242

Merged
crosbymichael merged 1 commit intocontainerd:masterfrom
theopenlab:containerd_openlab_ci
May 10, 2019
Merged

Add OpenLab CI configuration for ARM64 build#3242
crosbymichael merged 1 commit intocontainerd:masterfrom
theopenlab:containerd_openlab_ci

Conversation

@Yikun
Copy link
Copy Markdown
Contributor

@Yikun Yikun commented Apr 26, 2019

This patch adds the CI configuration to enable the support for arm build in OpenLab.

After this, each pull request in containerd will trigger the containerd-arm64-build job which verified the arm build on ARM cluster.

As the first version, we mark this job as non-voting job, that means the build job result is just a reference for developer and would not block the PR to be merged. Once we make sure the job can be executed stable, then we can mark it as normal "voting" job.

Related: #2901

@dims
Copy link
Copy Markdown
Member

dims commented Apr 26, 2019

@estesp @stevvooe please see the 2 yaml files ... it just sets up a Zuulv3 Job that runs in openlab. Zuulv3 is the CI system we use in OpenLab.

@Yikun Yikun force-pushed the containerd_openlab_ci branch from 4ed6a95 to dae0afe Compare April 26, 2019 07:48
@codecov-io
Copy link
Copy Markdown

codecov-io commented Apr 26, 2019

Codecov Report

Merging #3242 into master will decrease coverage by 4.01%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #3242      +/-   ##
==========================================
- Coverage   48.65%   44.63%   -4.02%     
==========================================
  Files         102      113      +11     
  Lines        9570    12164    +2594     
==========================================
+ Hits         4656     5430     +774     
- Misses       4088     5899    +1811     
- Partials      826      835       +9
Flag Coverage Δ
#linux 48.65% <ø> (ø) ⬆️
#windows 39.87% <ø> (?)
Impacted Files Coverage Δ
snapshots/native/native.go 43.04% <0%> (-9.99%) ⬇️
metadata/snapshot.go 45.8% <0%> (-8.96%) ⬇️
archive/tar.go 43.79% <0%> (-7.07%) ⬇️
metadata/containers.go 47.97% <0%> (-6.62%) ⬇️
content/local/writer.go 58.65% <0%> (-5.55%) ⬇️
content/local/store.go 49.51% <0%> (-5.15%) ⬇️
metadata/images.go 57.57% <0%> (-4.99%) ⬇️
archive/tar_opts.go 28.57% <0%> (-4.77%) ⬇️
archive/compression/compression.go 58.69% <0%> (-4.7%) ⬇️
metadata/buckets.go 56.33% <0%> (-4.6%) ⬇️
... and 63 more

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 3a3f0aa...dae0afe. Read the comment docs.

@codecov-io
Copy link
Copy Markdown

codecov-io commented Apr 26, 2019

Codecov Report

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

Impacted file tree graph

@@           Coverage Diff           @@
##           master    #3242   +/-   ##
=======================================
  Coverage   44.56%   44.56%           
=======================================
  Files         113      113           
  Lines       12194    12194           
=======================================
  Hits         5434     5434           
  Misses       5928     5928           
  Partials      832      832
Flag Coverage Δ
#linux 48.54% <ø> (ø) ⬆️
#windows 39.8% <ø> (ø) ⬆️

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 d68b593...bdd7dce. Read the comment docs.

@estesp
Copy link
Copy Markdown
Member

estesp commented May 7, 2019

This looks reasonable. I went and looked at some of the logs and noticed only make and make test are performed, which is a different (smaller) set of tests than the set which are run in AppVeyor or Travis.

The good part of that is that it looks like CI build/run times are shorter than Travis or AppVeyor, but possibly could miss bugs that would be found via integration, root-enabled or parallel test runs. Any thoughts?

The other piece that comes to mind is that we would then be dependent on OpenLab infrastructure to get "green" PRs? It looks like that is not any more of an issue than the fact we rely (and sometimes are bit) by Travis and AppVeyor downtimes or issues, but any statement on reliability/use by other projects would be good to know.

@Yikun
Copy link
Copy Markdown
Contributor Author

Yikun commented May 7, 2019

@estesp Thanks for your reply. : )

The good part of that is that it looks like CI build/run times are shorter than Travis or AppVeyor, but possibly could miss bugs that would be found via integration, root-enabled or parallel test runs. Any thoughts?

Yes, I had same consideration on it. The containerd-arm64-build is a job to invalidate building an available arm64 release, so I only put make and make test in the job. If we want to do more test on containerd, we can also enable the integration, root-enabled or parallel test runs in this job.

Or just make the build job simple, and add more test latter into other separate jobs.

The other piece that comes to mind is that we would then be dependent on OpenLab infrastructure to get "green" PRs? It looks like that is not any more of an issue than the fact we rely (and sometimes are bit) by Travis and AppVeyor downtimes or issues, but any statement on reliability/use by other projects would be good to know.

The OpenLab have been used in many project with stable running everyday, but I still understand your concerns. Fortunately, we also provide the "non-voting" mechanism, we could mark the test job as non-voting, that means the gating will succeeded (it would not be a block things when we add a experimental job) even the job is failed.

You can see theopenlab#4 as the reference:

image

Once we make sure the job can be executed stable, then we can mark it as normal "voting" job. Hope it's a friendly road to make our containerd running in OpenLab smoothly. : )

This patch adds the OpenLab CI configuration to enable
the support for arm build in OpenLab.

After this, each pull request in containerd will trigger the
containerd-arm64-build job which verified the arm build
on OpenLab ARM cluster.

Related: containerd#2901

Signed-off-by: Yikun Jiang <[email protected]>
@Yikun Yikun force-pushed the containerd_openlab_ci branch from dae0afe to bdd7dce Compare May 8, 2019 09:22
@Yikun Yikun changed the title [WIP] Add OpenLab CI configuration Add OpenLab CI configuration for ARM64 build May 8, 2019
@estesp
Copy link
Copy Markdown
Member

estesp commented May 8, 2019

I'm fine with this, and it seems to have no impact on the project in any way if we start it in a "non-voting" check mode. Thoughts from other @containerd/containerd-maintainers and @containerd/containerd-reviewers?

@Random-Liu
Copy link
Copy Markdown
Member

I'm fine with this, and it seems to have no impact on the project in any way if we start it in a "non-voting" check mode. Thoughts from other @containerd/containerd-maintainers and @containerd/containerd-reviewers?

SGTM.

@ehazlett
Copy link
Copy Markdown
Member

ehazlett commented May 9, 2019

SGTM

@dims
Copy link
Copy Markdown
Member

dims commented May 9, 2019

@estesp @Random-Liu @ehazlett looks like the jobs are still going on fine, so when this gets merged @Yikun can make any necessary changes on the openlab side. So please go ahead and merge this when appropriate

[1] http://status.openlabtesting.org/builds?job_name=containerd-build-arm64

Copy link
Copy Markdown
Member

@estesp estesp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@crosbymichael
Copy link
Copy Markdown
Member

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants