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
[Bug]: Ryuk does not start if run through wormhole ARM container on a Linux AMD64 host using QEMU on GHA #8138
Comments
Hey @ppalaga, thanks for reporting this issue and the reproducer. I wonder if we can debug it more interactively by using a GH Codespace, since it tends to be an environment quite similar to the GHA runners. |
Thanks for the feedback, @kiview ! It sounds like I cannot help much with the Ryuk investigation. Please let me know if there is anything else I can try. |
Actually, I could try skipping Ryuk 💡 |
Indeed this change ppalaga/testcontainers-arm64@b8f2f75 makes it pass - see https://github.com/ppalaga/testcontainers-arm64/actions/runs/7756244049/job/21153170695#step:9:1 Thanks for the hint @kiview! Maybe we should rename this issue to something like "Ryuk does not start properly..." |
Since we need QEMU to be setup, it is not that trivial to just run it in a Codespace (since we need to install QEMU in there and we can't just just the GHA setup action), so I'll first try to get some more insights by running with DEBUG log. This could also easily be an issue with Ryuk running through QEMU emulation in ARM. And thinking about it, it should be a good experiment to run this setup with ARM (but without QEMU) locally on an ARM MacBook with Docker Desktop (which I will also do now). Edit:
Note that I have to use Given this finding, I am pretty sure this is in someway QEMU related. There are ARM based runners going to be released, I think that should be the way to go. I am inclined to close this issue since I don't really see us investing time to debug issues of running Ryuk through QEMU. Maybe on last question I did not get from the initial post @ppalaga: |
Thanks for the investigation! Newly, there are M1 runners for GH Actions. Do you happen to know whether this setup with docker desktop (or similar) will work there too? That would surely be much faster than the QEMU emulation on Linux.
Yep, hopefully, they will be available for opensource projects soon.
It was Fedora on x86_64 with Qemu. |
The answer to my own question seems to be no: https://github.com/marketplace/actions/setup-docker-on-macos#arm64-processors-m1-m2-m3-series-used-on-macos-14-images-are-unsupported |
Yes, it is always tricky to get Docker access on provided CI runners, in general it is only provided for Linux runners. Is it important for your use case, that the containers started by TC are ARM containers, or are you mainly interested in testing an ARM build of your app? |
Yes, I need to test my Java framework code on JVM built for Linux and ARM. That's How our end users and customers will run it. |
Module
Core
Testcontainers version
1.19.3
Using the latest Testcontainers version?
Yes
Host OS
Linux
Host Arch
x86_64
Docker version
Client: Docker Engine - Community Version: 24.0.7 API version: 1.43 Go version: go1.20.10 Git commit: afdd53b Built: Thu Oct 26 09:07:41 2023 OS/Arch: linux/amd64 Context: default Server: Docker Engine - Community Engine: Version: 24.0.7 API version: 1.43 (minimum version 1.12) Go version: go1.20.10 Git commit: 311b9ff Built: Thu Oct 26 09:07:41 2023 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.6.27 GitCommit: a1496014c916f9e62104b33d1bb5bd03b0858e59 runc: Version: 1.1.11 GitCommit: v1.1.11-0-g4bccb38 docker-init: Version: 0.19.0 GitCommit: de40ad0
What happened?
My aim is to run my integration tests on Arm64.
I do that by running Maven in an Arm64 container:
Here is a minimal reproducer project: https://github.com/ppalaga/testcontainers-arm64
While this works as expected on my Fedora 38 with the following docker version
it does not work on Github Actions latest Ubuntu with docker version 24.0.7.
Relevant log output
Additional Information
Observation: when I take the x86_64 image by removing
arm64v8
, it works as expected also on GitHub actionsI tried to experiment with adding various iptables rules, but they did not change anything.
It is perhaps not a firewall issue given that testing from within x86_64 works.
I'd be thankful for any hints.
The text was updated successfully, but these errors were encountered: