fix: use linux/amd64 platform only for m1/m2 macs (arm64) #2986
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
When we migrated the
container:push
command to oclif/core, we added a--platform
flag that would be passed to Docker. We set it to equallinux/amd64
because that would allow users using m1 or m2 Macs to push builds to Docker. However, that is causing problems for our users with older Docker applications that don't accept the--platform
flag (#2967).This PR adds logic that checks the user's architecture and then only adds the
--platform
flag if the architecture isarm64
.Testing
Tests require to have a valid Dockerfile to build images, you can use the example app from this Devcenter article, but the Dockerfile might require a change on the dependencies installation command, adding the flag --break-system-packages to the pip3 install command.
yarn && yarn build
<path_to_cli>/bin/run container:login
to login<path_to_cli>/bin/run container:push
. You may have to add aweb
orworker
arg depending on your Dockerfile.