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

GH Actions: speed up slow jobs by using Linux Arm64 #791

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

jrfnl
Copy link
Member

@jrfnl jrfnl commented Jan 23, 2025

Description

GitHub has made Linux arm64 runners generally available and running tasks on these images instead of the traditional images can deliver up to a 40% performance boost.

As the fast majority of end-users won't be using Arm yet, I'm not (yet) switching all Linux builds to Arm runners, but for now, I think it makes sense to try and speed up the build by using these images for the slowest builds (PHP 5.4).

Refs:

Suggested changelog entry

N/A

GitHub has made Linux arm64 runners generally available and running tasks on these images instead of the traditional images can deliver up to a 40% performance boost.

As the fast majority of end-users won't be using Arm yet, I'm not (yet) switching all Linux builds to Arm runners, but for now, I think it makes sense to try and speed up the build by using these images for the slowest builds (PHP 5.4).

Refs:
* https://github.blog/news-insights/product-news/arm64-on-github-actions-powering-faster-more-efficient-build-systems/
* https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources
@jrfnl jrfnl added this to the 3.12.0 milestone Jan 23, 2025
@jrfnl jrfnl requested a review from fredden January 23, 2025 20:24
Copy link
Member

@fredden fredden left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes here look good to me. I think we can switch over all the PHP 5.x builds without much impact.

I see that we'll need to set COVERAGE_REPORTER_PLATFORM so that the correct flavour of binary gets installed for the Coveralls part to work successfully. Ideally that fix gets pushed to the script itself rather than having to set the variable, as uname -m will give the value that they're looking for. See coverallsapp/github-action#218

Edit: This change should make the tests pass here. coverallsapp/github-action#238

Copy link
Member

@fredden fredden left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While there are more places where this change can be applied, this is a good first step.

@jrfnl
Copy link
Member Author

jrfnl commented Jan 23, 2025

The changes here look good to me. I think we can switch over all the PHP 5.x builds without much impact.

I see that we'll need to set COVERAGE_REPORTER_PLATFORM so that the correct flavour of binary gets installed for the Coveralls part to work successfully. Ideally that fix gets pushed to the script itself rather than having to set the variable, as uname -m will give the value that they're looking for. See coverallsapp/github-action#218

Edit: This change should make the tests pass here. coverallsapp/github-action#238

@fredden I was just about to look at the build failure when I got interrupted by a phone call. Thanks for finding the root cause so quickly!

coverallsapp/github-action#238 looks like magic to me. 🙌🏻
I've also opened a loosely related PR - coverallsapp/github-action#239 , though that one may not be needed once coverallsapp/github-action#238 gets merged.

I'm going to give it a few days, but may just update this PR with the coverage-reporter-platform input to make it mergeable. We can always remove it again later once the upstream PR(s) have been merged.

@afinetooth
Copy link

@fredden @jrfnl Thanks for your PRs. I've merged them both and am cutting new release of coverallsapp/github-action@v2 right now. Should be v2.3.5 but @v2 will continue pointing to the latest release.

@jrfnl
Copy link
Member Author

jrfnl commented Jan 24, 2025

@afinetooth That's awesome! Thank you for working with us on this. Once the release is out, I will rebase this PR to retrigger the build and 🤞🏻

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

Successfully merging this pull request may close these issues.

3 participants