Skip to content
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

Build aarch64 Docker images in CI #124

Closed
fwcd opened this issue Dec 29, 2022 · 0 comments · Fixed by #125
Closed

Build aarch64 Docker images in CI #124

fwcd opened this issue Dec 29, 2022 · 0 comments · Fixed by #125
Labels
ci-cd CI/CD-related (GitHub Actions, GitLab CI, ...) docker Docker-related help wanted Extra attention is needed

Comments

@fwcd
Copy link
Owner

fwcd commented Dec 29, 2022

Ideally we could just build an aarch64 image too (under QEMU user-mode emulation) by using

platforms: linux/amd64,linux/arm64/v8

in .github/workflows/docker.yml.

While this works for most build steps, this unfortunately fails with obscure 'invalid manifest' errors when building D2 with the Swift Package Manager under QEMU. Further investigation revealed that these crashes occur due to SIGTRAPs sent to swift-driver while fetching/checking out D2's dependencies. This can be reproduced by building the image up to the step before swift build -c release and then manually running the Swift build e.g. in a shell within such a container. The errors will occur and QEMU will place a core dump (*.core) in the working directory (which can be inspected using lldb /usr/bin/swift-driver --core <path/to/dump.core> and the command bt all).

This bug also seems to be tracked here:

Possible ways to resolve this issue:

@fwcd fwcd added help wanted Extra attention is needed ci-cd CI/CD-related (GitHub Actions, GitLab CI, ...) docker Docker-related labels Dec 29, 2022
@fwcd fwcd closed this as completed in #125 Aug 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci-cd CI/CD-related (GitHub Actions, GitLab CI, ...) docker Docker-related help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant