-
Notifications
You must be signed in to change notification settings - Fork 3k
Add GitHub Actions workflow to build and push multi-arch Docker image #1186
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
base: main
Are you sure you want to change the base?
Conversation
@microsoft-github-policy-service agree |
Hey, I have a question about some choices you made on your workflow ; normally i work with Gitlab and not Github so it was the first workflow i made, i henceforth don't have much knowledge about them. Could you please tell my why you use As for Thanks ! |
This looks very promising. Thank you. (Also with #1184) Perhaps the two of you can discuss the differences, and we arrive at the best. But, before that: I need to check some procedural stuff on my end before I can merge this (re: hosting images rather than just Dockerfiles). Let me spend a day or two on this, and I'll get back to you. |
I just answered in #1184 Hey @afourney,
However, i would love to talk about it with @seuros. From what i see, here's a table difference :
Additionally, @seuros added a From what i see, i believe we should implement the following :
For the Qemu action, i don't really know until i've talked with @seuros. |
Hey @goulvenb Thanks for your message - and nice work on your PR (#1184)! To answer your question about docker/setup-qemu-action@v3: we include it because the workflow builds Docker images for multiple architectures, namely amd64 and arm64. QEMU enables emulation for these platforms in the same environment. As for docker/setup-buildx-action@v3, it's required to use Docker Buildx, which supports multi-platform builds and caching strategies. It use build-push-action and qemu under the hood. Also, just to clarify: I had this workflow running for a while and only saw your PR after a notification from the bot requesting me to agree for the terms. To collaborate better: Sorry for the delay in responding, I was on the road. Looking forward to syncing up on this! Thanks again! |
No worries @seuros ! As you added me to your repo, and as i'm still relatively new to collaboration using I just made a branch If you see any additional modification we can make, feel free to make them ! Thanks ! |
I forgot to ask :
Why 2 commits ? I'm asking more in the way of "why would afourney care about the number of commits" ? |
When reviewing code in open source projects, maintaining clean, purposeful commits is important. Having just 2 commits makes perfect sense since we are pairing in this one. Why clean commits matter: When a maintainer sees 10 commits on a Monday morning, they expect significant feature additions - not just 2 features where a developer spent 8 commits figuring things out. This wastes review time and makes the project harder to understand. While you might see 10 commits, the size impact on the repo is significant if there are too many iterations. If you add a YouTube video, a log file or a binary in one commit by mistake, then delete it in another, the maintainer will see a clean final change, but if merged and not squashed, everyone will have to download that file as part of the git history forever. A good practice when starting out is to have 1 commit PER PR you open. One trick to make it clean is to open a PR against your own repo and squash it. Later you'll get familiar with amending and rebasing from the console. ( i will squash your PR in my fork ) You'll also get less rejection from the OSS community to merge your work. (Speaking from experience) |
Thank you for your insight ! I'm gonna search a few terms, like squashing vs merging, but now at least i know there's an alternative to merging. Back to the topic, i'll let you ping afourney when you think it's ready to go. |
ci: update action version
This will build image for both archs.