-
Notifications
You must be signed in to change notification settings - Fork 437
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
Setup the Docker GH Action for Matrix Building #2644
Conversation
This change enables building of the amd64 and arm64 images simultaneously. Once both images finish, the manifest is sent to Docker Hub, allowing for a single image that has both the amd64/arm64 images.
Thanks @misilot ! I found this looks to be borrowed from https://docs.docker.com/build/ci/github-actions/multi-platform/#distribute-build-across-multiple-runners . I went searching around as I was finding the logic of the "merge" step a bit difficult to follow. But I see that's the recommended approach from Docker themselves. It's a shame this is so complex to achieve, but I agree that the benefits are wonderful. I'll see if I can get this merged soon so that we can test it out. We'll also need to create a version of this for |
@tdonohue yup, I think that is where I borrowed from! It was a while go that I found it. |
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.
👍 Thanks @misilot ! Looks good and makes sense now that I look at the Docker recommendations (see links above). The only way to fully test it is to merge it. So, I'm going to merge it now. (I was already planning on doing some minor GitHub Actions cleanup tomorrow to prep for 8.0, so this is good timing!)
Successfully created backport PR for |
Ported to |
This PR enables building of the amd64 and arm64 images simultaneously.
References
Logic borrowed from https://docs.docker.com/build/ci/github-actions/multi-platform/#distribute-build-across-multiple-runners
Description
Once both images finish, the manifest is sent to Docker Hub, allowing for a single image that has both the amd64/arm64 images.
This will allow for faster building of the amd64 image, and being sent to Docker Hub, while the arm64 image is still being built.
Instructions for Reviewers
Please add a more detailed description of the changes made by your PR. At a minimum, providing a bulleted list of changes in your PR is helpful to reviewers.
List of changes in this PR:
Include guidance for how to test or review your PR. This may include: steps to reproduce a bug, screenshots or description of a new feature, or reasons behind specific changes.
Checklist
This checklist provides a reminder of what we are going to look for when reviewing your PR. You need not complete this checklist prior to creating your PR (draft PRs are always welcome). If you are unsure about an item in the checklist, don't hesitate to ask. We're here to help!
yarn lint
yarn check-circ-deps
)package.json
), I've made sure their licenses align with the DSpace BSD License based on the Licensing of Contributions documentation.