-
Notifications
You must be signed in to change notification settings - Fork 61
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
Available platforms has more than required platforms
#57
Comments
That sounds annoying 😢 Unfortunately, slowdowns like this from using QEMU aren't unexpected, since it's essentially emulating another architecture in software. On the buildkit repo itself, QEMU jobs are slow as well - see some of the jobs here if you're interested. What's the content of your Dockerfile? Some things in there might be slowing things down more than expected, especially CPU-heavy tasks. |
@jedevc There is no slowdown I think, there are multiple builds for each platform because I see the same scripts from Dockerfile are running multiple times in the Docker build/tag/push step. |
Ah, ok 👍 In the screenshot you shared I think it shows QEMU being setup for all platforms, but I don't think the image itself is actually being built for all platforms. You can restrict the list of QEMU platforms to setup if you like using the options in https://github.com/docker/setup-qemu-action#inputs |
Would need some logs but looking at your workflow it will only build for the
This is the supported platforms. See the "Installing QEMU static binaries" section in your logs. You should see |
You have: - name: Set up QEMU
uses: docker/setup-qemu-action@v1
with:
image: tonistiigi/binfmt:latest
platforms: arm64,arm If you only want to build for The screenshot then shows what QEMU can support (with the |
Same issue, |
My workflow is to build I understand that this is intended and not a bug, but adding 1 more output (like FROM ossrs/srs - id: qemu
uses: docker/setup-qemu-action@v3
with:
platforms: linux/amd64,linux/arm64
# Fails here because ossrs/srs does not have a linux/386 variant
- uses: docker/build-push-action@v5
with:
context: .
platforms: ${{ steps.qemu.outputs.platforms }}
... |
Using in the Github actions using the following template
Where I want want to build the docker image against
arm64
architecture and not others.But the execution of the above workflow runs build for all platforms, taking a long time to build (approx 30 minutes) which for a single platform completes in 4-5 minutes.
The provided value is
arm64
which the available platforms arelinux/amd64,linux/arm64,linux/386,linux/arm/v7,linux/arm/v6
The text was updated successfully, but these errors were encountered: