-
Notifications
You must be signed in to change notification settings - Fork 43
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
fix(hole-punch): Add support for arm64 architecture #311
fix(hole-punch): Add support for arm64 architecture #311
Conversation
The initial commit doesn't fix the tests inside the |
Hmm, can we detect the architecture inside the Docker container instead? Docker already detects the host architecture for us and pulls the correct image, right? I.e. should we run |
I found this and seems the proper way of doing that. It's pretty late for me now, feel free to handle it if you have time. Otherwise, I'll look into it tomorrow. |
Just skimmed it and looks like a good approach to me. Would be great if you can handle this! |
@thomaseizinger Could you please take a look? Additionally, what commit hash should we use? |
6d6fb95
to
e7029fa
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
A few suggestions :)
I don't understand what you mean here. |
Sorry, should have been clearer. I meant the commitSha in |
e5eb849
to
901e80b
Compare
It seems that If we are building and running on the same platform, you don't need to specify a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you test this? It doesn't seem to be working :)
Plus, if we are no longer build for -musl
, we don't need the musl-tools
installed. I wonder if it still works on alpine then though. Shouldn't be a big deal though I think having it auto-select the ARCH is better this way.
Sorry, I didn't run the test, thought if it was building the image without errors it'd work. When I run
|
We don't seem to be copying the relay binary correctly into the final layer. If you run |
The problem was the lack of glibc on the Alpine container. I managed to fix this part using Debian, but the test still fails and the logs don't say why when running locally. It could be because of the difference in the installed packages like bind-tools and iproute2-tc. Is Alpine essential? It seems the image we use in the building is based on Debian. This is the Dockerfile:
|
This is proving to be more complicated than I thought. I think my last commit is the simplest solution for now. I ran it locally and it seems to work, although the QUIC test seems flaky. First run:
Second run:
|
Damn, I thought it was stable now. I'll look into it. |
Let me know if what I pushed builds for you locally. It seems that the QUIC test is actually broken so I'll look into that. |
It works and it's much cleaner, thanks! |
But it seems the TCP test can also be flaky:
|
@thomaseizinger the tests are still flaky for me locally. I'm using the last |
That is odd, I ran them literally about a hundred times on CI (in parallel too) and didn't get a single failure. Can you attach the logs (found in the |
I've attached rust-v0_52_x_rust-v0_52__tcp_ stdout.log |
I can find |
Yes. When I run I see this:
|
Could it be related to the logs |
I think the fact that this says |
Currently, only the x86-64 arch is supported when running tests locally.