Skip to content

Commit f85a36e

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 55b35bc commit f85a36e

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

.github/workflows/quicktest.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@ jobs:
2727

2828
strategy:
2929
matrix:
30-
os: ['ubuntu-latest', 'windows-latest']
30+
os: ['ubuntu-24.04-arm', 'windows-latest']
3131
php: ['7.2', 'latest']
3232

3333
include:
3434
- php: '5.4'
35-
os: 'ubuntu-latest'
35+
os: 'ubuntu-24.04-arm'
3636
custom_ini: false
3737
# Installing on Windows with PHP 5.4 runs into all sorts of problems with Composer.
3838
# See this issue for more context (yes, I've seen this problem before):
@@ -41,7 +41,7 @@ jobs:
4141
os: 'windows-latest'
4242
custom_ini: false
4343

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

4646
steps:
4747
- name: Prepare git to leave line endings alone

0 commit comments

Comments
 (0)