-
-
Notifications
You must be signed in to change notification settings - Fork 9
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
Fails for Windows ARM64 GitHub runners #25
Comments
The workflow is using an older version, |
Confirmed running with latest version shows the same issue: https://github.com/archonitelabs/radiant-cpp/actions/runs/9371722658/job/25801604485?pr=18 For posterity, the extra slash here is necessary: |
Here is a run with debugging enabled: https://github.com/archonitelabs/radiant-cpp/actions/runs/9371722658/job/25801888908 |
@jxy-s Your test fails with |
🤔 I see, I guess I easily overlooked that since the other non-ARM windows machine worked with it. Let me try an alternative. |
Okay so using
|
That's because there is no Bazel installed on GitHub runner, even though it's pre-installed on Windows X64. If you want for the action to install one for you, you need to pass |
https://github.com/archonitelabs/radiant-cpp/actions/runs/9372804523/job/25805096299?pr=18
I tried also with
@p0deje could this be related to?: bazelbuild/bazelisk#572 |
Yes, it's related to this issue. If Bazelisk ships a native ARM64 binary, it would work out-of-the-box with setup-bazel. |
The drawback of forcing x64 bazelisk on Windows is that bazel won't use the right toolchain and will compile non-native x64 on ARM64, which is not desired. I think the best course of action is to resolve it in the bazelisk repo and produce an ARM64 binary for Windows. |
Actually Bazel would still download proper toolchains and compilation should work correctly. I agree that it should be fixed upstream, but in the mean time - can you test |
I am testing, but I'm confident that this is not going to do what is desired. Windows ARM64 using non-native bazel will build an x64 binary. In the case of a testing workflow that is very much undesired. You want to build and run tests on a native platform. I'll collect data and report back. I suggest not merging #28 until we've come to a consensus here. For reference: bazelbuild/bazel#22164 (comment) and bazelbuild/bazelisk#572 |
It seems like it's still broken for another reason? Looks like https://github.com/archonitelabs/radiant-cpp/actions/runs/9451455948/job/26032443902#step:4:5 https://github.com/archonitelabs/radiant-cpp/actions/runs/9451414740/job/26032294653?pr=19#step:4:5 |
Yes, I think there is an issue with how file is added to the tool cache, let me try to prepare another version. |
@jxy-s Can you please re-run with debug logs enabled and share here? |
Here is a run with debug logs enabled: https://github.com/archonitelabs/radiant-cpp/actions/runs/9452727386/job/26037982135 |
Maybe that's because .exe is missing from filename, can you try a latest commit? |
https://github.com/archonitelabs/radiant-cpp/actions/runs/9454749231/job/26043007626?pr=21 Looks like that fixes the missing
Looking past that for a moment, Anyway, all that aside. I think there are two things here.
|
|
It is still a GitHub-hosted runner, it's just set up through the Archonite organization. The "Standard GitHub-hosted runners" does not yet include the ARM64 Windows or Linux machines in their set, but you can add them manually. Link for information on this (and how to set them up) is in the original message in this thread: https://github.blog/2024-06-03-arm64-on-github-actions-powering-faster-more-efficient-build-systems/ |
You need to be looking at the organization level, I think you're looking at the project/repo level. Configured here: https://github.com/bazel-contrib Anyway, it is available to open-source projects. Radiant is open source under the Archonite organization: |
Yeah, that tracks with the documentation. Soon enough they'll be available in the standard set for everyone. Hopefully we can get a bit ahead of the curve here before more people run into issues. |
@p0deje FYSA - Bazelisk now has a native arm64 binary for Windows available: |
@jxy-s Have you tried to use it on your ARM64 runners? No changes should be necessary on the action side to make it work. |
I did and I got an error saying the
I got the same result specifying https://github.com/archonitelabs/radiant-cpp/actions/runs/11316873539/job/31469638751?pr=21 |
@jxy-s Could you re-run with debug logs enabled and share them? |
Here you go:
Looks like it's downloading it, but seems like maybe it's not being made available in the path? I could put in a hack to fix this by pointing at the location it downloads bazelisk. But maybe the setup should set up the path? |
Hmm, it should be as long as it's downloaded - Line 45 in 3736b3b
Can you see if |
@p0deje sorry for the delay. I changed it from
https://github.com/archonitelabs/radiant-cpp/actions/runs/11533270059/job/32106080672 |
@p0deje unfortunately I get the same result. I tested both https://github.com/archonitelabs/radiant-cpp/actions/runs/11605985370/job/32317389563 I'm starting to think this might be a bug in the way the workflow executes java on ARM64 on Windows. It might be another emulation oddity? If java is running x64 under emulation maybe the path isn't being updated/transferred to the child native ARM64 cmd.exe process? |
Hm, actually - I'm not sure now... I specified the full path in this run and it still didn't find it:
|
Hmm, can you list the directory and see files it has? |
Looks like it's still writing it without the
|
@jxy-s Hmm, can you try using an exact version of Bazelisk in |
According to the following job it appears that setup-bazel is not functioning when using Windows ARM64 GitHub runners:
https://github.com/archonitelabs/radiant-cpp/actions/runs/9359175843/job/25800924517
See also:
https://github.blog/2024-06-03-arm64-on-github-actions-powering-faster-more-efficient-build-systems/
The text was updated successfully, but these errors were encountered: