-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
ci: test workflows on new arm runners #3855
Conversation
Hm, seems like our nix install action doesn't play well with arm runners, yet:
|
Seems like a lot less software is installed on the arm images:
Also it's a public beta for a reason.. after changing the nix install method, we're now waiting for https://github.com/orgs/community/discussions/148648#discussioncomment-11858098 to be fixed, before we can continue. |
Cabal builds for GHC 9.6 and 9.8 were successful. So we should certainly be able to do the same that we currently do on our own runner via GHA. Hopefully, we can also make the nix build work. |
Ah, right. To get the static build to work, we need to upgrade to GHC 9.6. To upgrade to that, we need to ditch Template Haskell. To do that, we need to replace OpenApi. So still a bit to work on. So we should focus on moving over the Cabal based build for now. |
28ce22a
to
08cdb4b
Compare
Renovate doesn't seem to pick this up, because it's in a matrix specification.
This is built on macos-14, which is running on new arm based hardware, not the old x86_64 ones.
08cdb4b
to
0dd6d55
Compare
This should have been x86-64, only x64 is not a thing.
When macos-14 was rolled out libpq was not installed, but by now it is by default. Thus, we don't need to do that, it only creates a warning annotation right now.
This happens in forks.
The new GitHub arm runners are available, so we can use them to build the ubuntu aarch64 binary instead of our custom machine.
Much easier to implement and should be easier to find, too.
This has been replaced by using the SSH key.
This is now possible, after we moved to the ARM build to the GitHub runners.
Apparently the STACK_ROOT has been moved to C:\sr - for unknown reasons, at least to me. This should enable caching again and make the stack on windows builds much faster than recently.
0dd6d55
to
fffe0f5
Compare
Ok, I've moved the ubuntu based build to the new ARM runners in this PR and fixed / improved some more of the CI on the way. It's tested in my fork / a private docker hub repo. One more notable change: The loadtest results are now available in the test workflow's summary section. Makes the code much easier. On the main branch, this also makes the loadtest results much easier to discover, too: The whole workflow has a summary page, on which the loadtest results and all the respective binaries / artifacts are available. |
The devel release was pushed fine, dockerhub updated as expected. Took the chance to cut another bugfix release on the v12 branch, while backporting the changes. I expect this to run through smoothly as well. Thus, we don't use the old ARM runner anywhere anymore - you can shut that thing down, @steve-chavez! |
Done! |
GitHub has now made the ARM runners available for public repositories:
https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/
As a quick-and-dirty test, I just replaced all the ubuntu runners with their -arm counterparts, let's see which of the jobs build successfully and which don't.
We should be able to remove our current remote arm builder soon. Hopefully with a static binary, but if not - the regular build should still be much easier to do than those via-SSH-builds.