> On Dec 6, 2022, at 4:43 AM, Robert Munteanu <romb...@apache.org> wrote: > > I see two alternatives so far: > > 1. Moving to GitHub actions
Apache Yetus did the move from docker hub builds to Github Actions because ... > 2. Use hooks to install qemu and 'fake' a multi-arch build on Docker > Hub ... when I tried to do this a bit over a year ago, the kernel on the docker hub machines didn't support qemu. https://github.com/docker/roadmap/issues/109 seems to still be open so that functionality is likely still missing. That said, the project kept the hook in place in case it is ever supported. So... > How are other projects handling this? Or does anyone have any ideas > that they can share? ... the build is pretty much contained in two files: https://github.com/apache/yetus/blob/main/.github/workflows/ghcr.yml https://github.com/apache/yetus/blob/main/hooks/build The build file does a lot of extra work that may/may not be desired (such as building cascading container images), but it should at least work on Linux and macOS. Being able to run it locally after a bit of multi-arch setup is a _huge_ debugging win vs. going all-in on a native GH Action method. The hooks/build file is also still run on docker hub so as to not break users who are still pulling from there. At some point, we'll have a discussion in the project about getting rid of it but for now, everything is relatively consistent between the two container repos. Just that docker hub repo has one built for only x86 and the GHCR has both arm and x86 as a multi-arch image. Some unsolicited advice: keep in mind the bus factor. A lot of projects have wildly complex build systems that are maintained by one maybe two people. While those build processes may be faster or better or more functional or whatever... at some point other people will need to understand it.