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

CI: Add Ubuntu on ARM runner to CI #894

Draft
wants to merge 3 commits into
base: dev2
Choose a base branch
from

Conversation

mmuetzel
Copy link
Contributor

GitHub started hosting runners with Ubuntu on ARM64 processors for open source projects for free:
https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/

Add one configuration that is using these runners to the build matrix.

According to their blog post, the arm64 runners are more efficient and potentially faster than the x86_64 runners. (But it is still in a preview phase and maybe it will take some time for them to better scale and balance the load.) If that turns out to be true, it should be easy to switch more configurations in that workflow (or the one using the root CMake file) to the arm64 runners (and maybe keep only one or two running on x86_64).

Since there is now the possibility to run tests for this target natively, remove that target from the build matrix of the workflow that emulates it with qemu.

There is an open PR for the Alpine action that would allow running the armv7 tests natively on aarch64. But it hasn't been merged yet:
jirutka/setup-alpine#22
So, keep emulating armv7 on x86_64 for the time being.

GitHub started hosting runners with Ubuntu on ARM64 processors for open source projects for free:
https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/

Add one configuration that is using these runners to the build matrix.
GitHub hosts Ubuntu on ARM64 runners now.
Remove the emulated runner (in favor of the native one).
@mmuetzel
Copy link
Contributor Author

mmuetzel commented Jan 29, 2025

Hu? Why are the runners that are using Clang on Ubuntu failing? I didn't touch anything in the rules about them...

Looking back on the actions that ran in the last couple of weeks: That isn't new with the changes from here. These runners started failing without any change in this repository.
Might be related to the fact that the ubuntu-latest label was moved from ubuntu-22.04 to ubuntu-24.04 by GitHub recently. That came with a newer version of Clang...

A few tests for LAGraphX are failing with a segfault now.
@DrTimothyAldenDavis: Do you see a pattern for the failing tests?

  The following tests FAILED:
  	 39 - LAGraphX_BF (SEGFAULT)
  	 40 - LAGraphX_FastGraphletTransform (SEGFAULT)
  	 50 - LAGraphX_SquareClustering (SEGFAULT)
  	 55 - LAGraphX_msf (Failed)
  Errors while running CTest
  make: *** [Makefile:74: test] Error 8

@mmuetzel mmuetzel marked this pull request as draft January 29, 2025 10:30
@mmuetzel
Copy link
Contributor Author

mmuetzel commented Jan 29, 2025

Sure enough, those workflows succeed if they are reverted to the Ubuntu 22.04 runners.
That could be a work-around for the time being. But it might also be worth finding out why it is failing on Ubuntu 24.04. (Fwiw, GitHub - at least until now - provides runners for the last two LTS versions of Ubuntu. So, the Ubuntu 22.04 runners will probably be available until some time in 2026.)

What I've missed before: The runners that build for Windows MSVC using Clang as the compiler are also failing the tests for LAGraph.
It might be that the compatibility with newer versions of LLVM Clang is broken for some reason (independent on the OS -- Linux or Windows).

@DrTimothyAldenDavis
Copy link
Owner

Thanks. yes, I've noticed the Windows clang failures. I was considering just deleting those runners.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants