Skip to content

Commit d63993a

Browse files
committed
GH Actions/quicktest: use Linux Arm64
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. Based on our testing with this, the performance benefit is minimal to non-existent in our test setup and as the code base contains no `arm64` specific code/conditions, there is also no _functional_ benefit to running the tests on `arm64`. Having said that, having some test runs on `arm64` can serve as an early detection system in case code changes would be needed in the future. With this in mind and after some discussion about this, this commit ONLY introduces `arm64` in the `quicktest` workflow which is run for branch pushes (with the exception of pushes to `master`). That means that in practice, it will run: * When contributors with `push` rights push a branch directly to this server. * When contributors without `push` rights, but who have enabled workflow runs on their own fork of the repo, push a branch to their fork. The "normal" (PR) `test` runs will not use `arm64` at this time. This does mean that a test run failure against `arm64` for a PR contribution via a fork _could_ go unnoticed, but as stated above: as the code contains no `arm64` specific conditions, this is deemed unlikely and is seen as an acceptable risk. If needs be, this can be revisited in a later iteration. 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 * https://fraudmarc.com/post/arm64-vs-x86-64-for-php
1 parent c3c632a commit d63993a

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

.github/workflows/quicktest.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@ jobs:
2828

2929
strategy:
3030
matrix:
31-
os: ['ubuntu-latest', 'windows-latest']
31+
os: ['ubuntu-24.04-arm', 'windows-latest']
3232
php: ['7.2', 'latest']
3333

34-
name: "QuickTest: PHP ${{ matrix.php }} (${{ matrix.os == 'ubuntu-latest' && 'Linux' || 'Win' }})"
34+
name: "QuickTest: PHP ${{ matrix.php }} (${{ matrix.os == 'windows-latest' && 'Win' || 'Linux ARM' }})"
3535

3636
steps:
3737
- name: Prepare git to leave line endings alone

0 commit comments

Comments
 (0)