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

[Enhancement] Extending Eclipse Che CI infrastructure support to s390x #16287

Closed
shahidhs-ibm opened this issue Mar 9, 2020 · 18 comments
Closed
Labels
area/ci CI build and releases, PR testing, & whitelabel/productization issues kind/enhancement A feature request - must adhere to the feature request template. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. severity/P2 Has a minor but important impact to the usage or development of the system.

Comments

@shahidhs-ibm
Copy link

Is your enhancement related to a problem? Please describe.

This is a feature request to add support of s390x architecture to Eclipse Che CI infrastructure (https://ci.codenvycorp.com/job/che-master-ci/ and https://ci.centos.org/job/<pkg>)

Describe the solution you'd like

We have Open Source Labs hosted Jenkins service at https://osuosl.org/services/ibm-z/. We will take the responsibility for all development, support and maintenance tasks for Jenkins jobs which will run for s390x arch.

Describe alternatives you've considered

Kindly suggest alternatives in case above feature proposal have any issue(s).

Additional context

We will like to publish the generated build artifacts (binaries / docker images etc) for s390x in the Eclipse Che releases and quay.io docker repository as well.

Kindly let us know if any additional information is required.

@shahidhs-ibm shahidhs-ibm added the kind/enhancement A feature request - must adhere to the feature request template. label Mar 9, 2020
@che-bot che-bot added the status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. label Mar 9, 2020
@ibuziuk ibuziuk added severity/P2 Has a minor but important impact to the usage or development of the system. team/devex area/ci CI build and releases, PR testing, & whitelabel/productization issues and removed status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. labels Mar 9, 2020
@ibuziuk
Copy link
Member

ibuziuk commented Mar 9, 2020

CI on mainframes \o/
@l0rd assigning to devex team for analysis

@shahidhs-ibm
Copy link
Author

@ibuziuk Thanks for the positive response. Along with extending support to s390x, we would also like to publish the s390x docker images to Eclipse Che docker repository i.e. quay.io. We understand that quay.io does not support multiarch images so we would like to publish our images appending -s390x to the image name.
This feature will need some code modifications to read architecture specific .yaml, .properties and Dockerfile. We are currently working on same and will create a PR once we are done.

@shahidhs-ibm
Copy link
Author

@ibuziuk I have created a Jenkins project to build che-machine-exe on the OSU/OSL Jenkins service for s390x. Kindly check and let me know your comments. Looking forward to extend this CI similar for other Eclipse Che repositories.

@l0rd
Copy link
Contributor

l0rd commented Mar 29, 2020

@shahidhs-ibm what do you expect from us? What changes?

@shahidhs-ibm
Copy link
Author

@l0rd We are looking for two main support from your side:

  1. Adding links for s390x Jenkins builds to reflect the IBM Z support
  2. Publishing the built docker images for s390x on quay.io.

For e.g. Tensorflow is one of the communities which supports IBM Z builds. Please refer to link for more details.

Please let us know your thoughts/comments.

@l0rd
Copy link
Contributor

l0rd commented Mar 30, 2020

Ok I see and I am +1 for that.

For 1. a link to the s390 build status badge in our repositories README files is what you are thinking about? In that case the simpler would be to directly open the corresponding PRs.

For 2. I think the simpler would be to create a quay.io bot (if you don't already have one) and we will grant the privileges to push new images on our repos.

Does that sound like a good plan?

@shahidhs-ibm
Copy link
Author

Sounds like a good plan to me.

For 1. We will create a PR to update README files to display s390x build status batch.
For 2. We will create a bot user with an account on Quay.io and will share its details with you (for granting the repository write access).

@shahidhs-ibm
Copy link
Author

@l0rd Could you please add the GitHub hook URL (https://ibmz-ci.osuosl.org/github-webhook/) of Jenkins server into che-machine-exec GitHub repository for us to get the build triggers?

@shahidhs-ibm
Copy link
Author

@l0rd Any updates?

@ibuziuk
Copy link
Member

ibuziuk commented Apr 17, 2020

@shahidhs-ibm I belive we will need to ask eclipse webmaster to do this, since we do not have an admin access
@skabashnyuk will you be able to give a hand with this?

@shahidhs-ibm
Copy link
Author

@skabashnyuk Could you please add a GitHub webhook to our Jenkins pipeline as per above discussion?

@benoitf
Copy link
Contributor

benoitf commented May 4, 2020

Hello, AFAIk with buildx we don't need other CI infrastructure as we can build for arm, z, power, etc.

Besides,

We understand that quay.io does not support multiarch images so we would like to publish our images appending -s390x to the image name.

is not correct as we can publish multi-arch images on quay.
So I'm not sure what is all about.

@benoitf
Copy link
Contributor

benoitf commented May 4, 2020

so, it would be nicer to have compliant Dockerfiles/build scripts to be multi-arch aware and provide multi-arch images by default (including Z)

@shahidhs-ibm
Copy link
Author

@benoitf From comment point#2 is invalid now. This was based on some past info we had which is obsolete now.

For point#1, we want to display s390x build status badge in README files similar to the batch which displays build status from ci.centos.org. Let us know if this is possible.

About comment, we are working on this analysis and keep you posted.

@shahidhs-ibm
Copy link
Author

Do you have any plans to switch to github actions/ travis from ci.centos.org for building docker images? For ci.centos.org which is Jenkins, how we can extend support to s390x? Can we use our own Jenkins server to build and push images as mentioned in comment? Any suggestions?

@benoitf
Copy link
Contributor

benoitf commented May 25, 2020

Hello,

by using buildx we can publish new multi-arch images so we may not require external jenkins server.

@shahidhs-ibm
Copy link
Author

Thank you @benoitf
We will work on adding docker buildx in the Jenkins scripts for enabling multi-arch support.

@che-bot
Copy link
Contributor

che-bot commented Jan 4, 2021

Issues go stale after 180 days of inactivity. lifecycle/stale issues rot after an additional 7 days of inactivity and eventually close.

Mark the issue as fresh with /remove-lifecycle stale in a new comment.

If this issue is safe to close now please do so.

Moderators: Add lifecycle/frozen label to avoid stale mode.

@che-bot che-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 4, 2021
@che-bot che-bot closed this as completed Jan 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/ci CI build and releases, PR testing, & whitelabel/productization issues kind/enhancement A feature request - must adhere to the feature request template. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. severity/P2 Has a minor but important impact to the usage or development of the system.
Projects
None yet
Development

No branches or pull requests

5 participants