Skip to content

Use matching architecture for GitHub Actions when pushing multi-arch images #6649

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

Conversation

taylanisikdemir
Copy link
Member

@taylanisikdemir taylanisikdemir commented Jan 28, 2025

What changed?
I noticed the docker/build-push-action has been flaky for arm64 architecture (list of recent runs). It fails due to cross arch compilation issues that rely on qemu:

#45 867.4 github.com/jcmturner/dnsutils/v2: /usr/local/go/pkg/tool/linux_arm64/compile: signal: segmentation fault (core dumped)
#45 1027.9 make: *** [Makefile:513: cadence-server] Error 1
#45 ERROR: process "/bin/sh -c CGO_ENABLED=0 make cadence-cassandra-tool cadence-sql-tool cadence cadence-server cadence-bench cadence-canary" did not complete successfully: exit code: 2

We use always ubuntu x64 architecture runner to build images for both amd64 and arm64 architectures. It seems to be not stable with qemu emulator. I have seen others hitting similar issues.

Adding multiple architecture strategy to the jobs to mitigate this cross arch compilation stability issue.

strategy:
      matrix:
        os: [linux]
        arch: [x64, arm64]

The above will run the job twice. One time for arch=x64 and another one for arch=arm64.

The underlying runner's ubuntu image and docker's platform flag will be populated according to matrix.arch.

@taylanisikdemir taylanisikdemir force-pushed the taylan/docker_push_matrix branch from d6f21c2 to 2b07c19 Compare February 4, 2025 00:11
@taylanisikdemir taylanisikdemir merged commit 338ce61 into cadence-workflow:master Feb 5, 2025
25 checks passed
@taylanisikdemir taylanisikdemir deleted the taylan/docker_push_matrix branch February 5, 2025 17:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants