-
Notifications
You must be signed in to change notification settings - Fork 35
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
RFC: Remove BUILDPLATFORM
#1350
Conversation
I'm pretty split on this one. It should be largely inconsequential for the general case where an engineer is running Apple Silicon locally and building for a Graviton environment, but it has some implications when these platforms are not aligned. Preferring `BUILDPLATFORM`: - Quicker to build when local platform differs from deployment target - Local behaviour is more likely differ from CI - Locally built image may not be deployable during disaster recovery Preferring to hardcode `amd64` or `arm64`: - Slower to build when local platform differs from deployment target - Local behaviour is less likely to differ from CI - Locally built image should be deployable during disaster recovery
🦋 Changeset detectedLatest commit: b3d5821 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Came back around to this and landed on the same conclusion, so I'll get this merged once I write up a changeset, then look at improving guidance in https://seek-oss.github.io/skuba/docs/deep-dives/arm64.html for existing x86 projects. |
* RFC: Refresh ARM64 guide Follows on from #1350. * Do not imply vCurrent is ARM-exclusive Co-authored-by: Aaron Moat <amoat@seek.com.au> * Add a changeset --------- Co-authored-by: Aaron Moat <amoat@seek.com.au>
I'm pretty split on this one. It should be largely inconsequential for the general case where an engineer is running Apple Silicon locally and building for a Graviton environment, but it has some implications when these platforms are not aligned.
https://docs.docker.com/build/guide/multi-platform/#platform-build-arguments
https://www.docker.com/blog/faster-multi-platform-builds-dockerfile-cross-compilation-guide/
This is my understanding:
Preferring
BUILDPLATFORM
:Preferring to hardcode
amd64
orarm64
:Preferring no
--platform
/TARGETPLATFORM
:--platform
build option