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

Build quay.io/skopeo/stable as multi-arch image #1010

Closed
barthy1 opened this issue Aug 11, 2020 · 11 comments
Closed

Build quay.io/skopeo/stable as multi-arch image #1010

barthy1 opened this issue Aug 11, 2020 · 11 comments

Comments

@barthy1
Copy link
Contributor

barthy1 commented Aug 11, 2020

At this moment quay.io/skopeo/stable images are amd64 only.
We need s390x and ppc64le image versions to run e2e tests for Tekton on corresponding platforms.
The best case would be to have multi-arch image, which all platforms can use.
The discussion about the same request for quay.io/buildah/stable containers/buildah#2002

@TomSweeneyRedHat
Copy link
Member

@barthy1 thanks for the issue, especially so with the pointer. I'm hopeful that we can do this, and will ping @james-crowley and @cevich to make sure they're aware of this request too.

@james-crowley
Copy link

@TomSweeneyRedHat Thanks for tagging me. Taking a brief look at Skopeo, it looks they are using Travis CI at least for their Mac OS builds.

Adding building of s390x and ppc64le images via Travis should be pretty easy.

If the builds for the images are done via another CI/CD pipeline, we can work with the community to get them access to s390x and ppc64le support.

Additionally, Travis also had some arm64 resources as well. Which would be cool to see support for if Skopeo is looking at doing multi-arch images.

@barthy1
Copy link
Contributor Author

barthy1 commented Oct 1, 2020

Hi @TomSweeneyRedHat
Are there any updates to get multi-arched skopeo image?
Considering Travis as a great option to run builds on real native hardware, I'd suggest to take into account also Github actions
with option to build multi-arch images with emulation. For instance, for skopeo upstream image I was able to verify that it works and produces multi-arch image with amd64, s390x and ppc64le support.
Have a look at the code and build logs.

@TomSweeneyRedHat
Copy link
Member

Hi barthy1, high on the list, but have been tending to other fires.

@barthy1
Copy link
Contributor Author

barthy1 commented Oct 5, 2020

Hi @TomSweeneyRedHat sorry for bothering you again. I'd like to be more specific in my question :) Do you consider to use Github actions to build multi-arch skopeo images? if yes, I can prepare the PR.

@TomSweeneyRedHat
Copy link
Member

@barthy1 I never turn down an offer of a PR. If you have a good thought on how to pull this off, I'd be very happy to review it.

@barthy1
Copy link
Contributor Author

barthy1 commented Oct 7, 2020

@TomSweeneyRedHat I played a little bit with Github Actions and decided to create the PR to build multi-arch image with Travis using native hardware :)
Will be appreciated for review #1066

@james-crowley
Copy link

@barthy1 Github Actions sounded super cool! It is something I been trying to play around with myself. Did you get far with using the GitHub actions buildx? I assume with buildx you were planning on using the qemu option for building multi-arch images?

Travis has been my go to for building on arch as its very simple. We have a couple internal scripts for building multi-arch images. Feel free to reach out to me if you want to take a look!

Github actions would be super cool to get working, one major blocker is a the lack of support for running the Github runner on s390x and ppc64le. As most of the runner is developed in .Net code.

@barthy1
Copy link
Contributor Author

barthy1 commented Oct 7, 2020

@james-crowley yes, agree that Github Actions are great for many things :)

I assume with buildx you were planning on using the qemu option for building multi-arch images?

I tried to run the skopeo multi-arch builds with buildx using qemu. However after some time I learnt, that there are several drawbacks in emulation when we are talking about something more than "install several packages to default image".
Based on my tests it turns out that build for 3 archs took 30 mins (which is just natural for emulation, but still) + there were Segmentation fault error for some cases.

Github actions would be super cool to get working, one major blocker is a the lack of support for running the Github runner on s390x and ppc64le. As most of the runner is developed in .Net code.

Yeah, however I saw discussion to port the runner to Golang, so look forward to it..

Anyway, Travis with native hardware is fast and zero-problematic so far for skopeo case :) And in my PR I was able to build multi-arch skopeo/upstream image just easily.

@barthy1
Copy link
Contributor Author

barthy1 commented Nov 20, 2020

Fixed with #1066 and #1066

@barthy1 barthy1 closed this as completed Nov 20, 2020
@james-crowley
Copy link

@barthy1 Great job pushing forward with Travis CI. For future reference, our team does have some build scripts/examples for Travis multi-arch builds. Feel free to check them out.

https://github.com/LinuxCoC/travis-docker-manifest-example
https://github.com/jordan-cartwright-ibm/example-docker-manifest

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 20, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants