GriffinPlus / docker-base

Ubuntu 18.04 LTS base image with an extensible Python based startup system (using official Ubuntu packages only)
MIT License
0 stars 1 forks source link

Setting up multi build #2

Open Taknok opened 1 year ago

Taknok commented 1 year ago

Multi arch build with docker buildx would allow to run all griffin+ on mips or arm arch. https://learn.microsoft.com/en-us/azure/devops/pipelines/ecosystems/containers/build-image?view=azure-devops#how-do-i-build-linux-container-images-for-architectures-other-than-x64

ravenpride commented 1 year ago

Hi @Taknok, thank you for the hint. I'll have a look at it soon. Is there any use case you need it for?

Taknok commented 1 year ago

Running it on a new mac or a raspberry for exemple. I did several tries with github action as I do not have an azurepipeline. You can take a look here : https://github.com/Taknok/docker-strongswan

As github action does only provide x64 arch I had to take the buildx method, but I am not familiar enouth with azurepipeline and it may provides various arch and one pipeline by arch can be done.

The buildx relies on qemu and currently there is an issue with qemu. When running on a x64 and emulating an x32, the issue prevents to build cryptography with rust. This issue will probably never be fixed as it would require to track full x32 inode to map x64 inode (qemu currently return x64 inode and the x32 does not appreciate). Core issue : https://gitlab.com/qemu-project/qemu/-/issues/263 Rust tracking : https://github.com/rust-lang/cargo/issues/8719

So I drop arm32 in my tests.

Interesting documentation: https://docs.docker.com/build/install-buildx/ https://www.frakkingsweet.com/build-multi-architecture-images-in-azure-devops/

Sorry for miss click.