getporter / porter

Porter enables you to package your application artifact, client tools, configuration and deployment logic together as an installer that you can distribute, and install with a single command.
https://porter.sh
Apache License 2.0
1.2k stars 201 forks source link

build arm64 images #2870

Open ludfjig opened 11 months ago

ludfjig commented 11 months ago

We should be building arm64 images, not only amd64. It is also requested by mcr

troy0820 commented 11 months ago

Couple of other issues are linked to this one sort of.

https://github.com/getporter/porter/issues/2397 https://github.com/getporter/porter/issues/1497 https://github.com/getporter/porter/issues/1856

I think the problem is related to some of these with the bugs that were reported. However, these issues are old and we may not face the same problems. Worth investigating.

sbshah97 commented 6 months ago

Hi can someone help on how to approach this and go about this? I am a new contributor here

robinbraemer commented 1 month ago

Porter's mission is to be a widely accessible cloud-native apps CLI, yet it doesn't support arm, that is widely used nowadays server- and clientside. This issue deserves more attention from core maintainers as it is directly correlated to the success of adopting Porter and CNAB.

From what I see, to make progress would be to add arm to these locations(?):

Go builds should use as already defaulted as ARGS by Docker BuildKit:

GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH} go build

Docker builds should add a platforms flag:

docker build --platform linux/amd64,linux/arm64 .