Add a makefile command to assist with multi-arch builds
Add a buildx makefile command that leverages docker buildx to make multi-architecture images.
--platform can be any platforms that are the intersect of all base images used in the Dockerfile, but intel chips vs. arm chips is a great start, and should be supported with no additional effort.
Note that the machine that runs this command will need to have both buildx configured, and probably QEMU in order to emulate the differing architectures. Here's some additional details explaning buildx: https://docs.docker.com/build/building/multi-platform/
~~I would have also added this to the CI, but it looks like github actions isn't configured to build the final artifacts or deploy those. Let me know if you're interested in further automating this in some fashion!~~
~~This indirectly addresses https://github.com/trstringer/manual-approval/issues/54, but doesn't do anything to run this to create the actual artifacts.~~
This adds a new release job that should take care of the multi-arch builds, release tagging, etc. to address https://github.com/trstringer/manual-approval/issues/54
Sorry for the delay on this. This looks good, but could you verify if you've tested this out manually? Or better yet, could you add a couple of steps to the CI pipeline to test out different multi-arch builds?
@trstringer - would you be open to re-working the CI pipeline to help automate the build, release, deploy pipeline? That is pretty much the only way to work this into the CI pipeline.
Maybe the push to main can cause a build and publish as latest, and then we devise some sort of manually triggerable action that is capable of cutting a release and building / deploying the versioned artifacts?
I have tested this locally as well, but, open to your thoughts on the above. It would also probably make maintaining this project a lot easier for you the more that is automated.
Bumping this @trstringer - do you want to automate this whole build pipeline for releasing? Last I checked it seems like none of this release build is automated. That direction would make the most sense and then this could be auto-done from CI.
Bumping to @trstringer