-
-
Notifications
You must be signed in to change notification settings - Fork 277
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: Use arm64 runners #1955
base: master
Are you sure you want to change the base?
CI: Use arm64 runners #1955
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
99d6174
to
307728d
Compare
We can now run on the arm based CI runners: https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/ Our CI generally runs pretty fast, so it's hard to see any real difference in runtime yet. However, the two relatively slow JRuby jobs finished 10-15% faster on this PR than they did on the latest CI run on the master branch.
48b3069
to
2cdf970
Compare
Maybe we should just remove JRuby jobs? I'd let GitHub choose what they want to run our CI on, if arm64 is more effective, we don't mind (if they even need us to agree). |
How do we let GitHub choose? |
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.
https://github.com/actions/runner-images/blob/af0df299674bc781d6a4f891d9cea62b438e1332/images/ubuntu/Ubuntu2404-Readme.md?plain=1#L8 doesn't explicitly tell it's an X86-64, except for a few (Java, Chromium) packages pointing to that. I don't see why GitHub wouldn't want to silently switch those for ARM runners sometimes in the future, considering cost savings. I believe such proactive users as us will be in the minority.
I don't mind the change, as we're unlikely to hit any weird CI issues. Also a good part of us devs are on ARM those days thanks to MacBooks.
Also, just for the curiosity's sake, it's quite interesting to how good CI run on ARM, and bring this experience to our primary jobs to save on ever-hungry CI.
@@ -7,7 +7,7 @@ concurrency: | |||
jobs: | |||
codespell: | |||
name: CodeSpell | |||
runs-on: ubuntu-latest | |||
runs-on: ubuntu-22.04-arm |
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.
Minor: Why not ubuntu-24.04-arm?
The difference between sensible packages (e.g. openssl) is negligible between 22.04 and 24.04
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.
Mainly because we are currently running CI against Ubuntu 22.
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.
Isn’t the -latest
same as 24?
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.
According to https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories, there is an ubuntu-latest
, windows-latest
, and macos-latest
, but no -latest
are documented for the arm runners.
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.
I mean, before we switched to arm runners, we used -latest, which is ubuntu 24.
But now, we switched to arm runners and ubuntu 22. Even though ubuntu 24 is available for arm, too. Why?
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.
Huh, that’s interesting. Our CI runs (e.g. this) has an annotation at the bottom saying
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see actions/runner-images#10636
I understood that as “CI will run ubuntu 24, but not yet”. But looking closer at any CI run, I of course now see Image: ubuntu-24.04
. So yes of course, this PR should target Ubuntu 24 as well.
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.
Ha! Understood. I am sorry I didn’t when you first explained.
No objections then!
I was hoping that GitHub would provide something like the |
CI: Use arm64 runners
We can now run on the arm based CI runners: https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/
Our CI generally runs pretty fast, so it's hard to see any real difference in runtime yet. However, the two relatively slow JRuby jobs finished 10-15% faster on this PR than they did on the latest CI run on the master branch (master vs this PR).
Links: