From fa4213160cce14789b78e4387c6d13126da6747b Mon Sep 17 00:00:00 2001 From: jrfnl Date: Thu, 23 Jan 2025 17:05:46 +0100 Subject: [PATCH] GH Actions: speed up slow jobs by using 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. 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 --- .github/workflows/quicktest.yml | 2 +- .github/workflows/test.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/quicktest.yml b/.github/workflows/quicktest.yml index 5edde2a41a..50844feefb 100644 --- a/.github/workflows/quicktest.yml +++ b/.github/workflows/quicktest.yml @@ -32,7 +32,7 @@ jobs: include: - php: '5.4' - os: 'ubuntu-latest' + os: 'ubuntu-24.04-arm' custom_ini: false # Installing on Windows with PHP 5.4 runs into all sorts of problems with Composer. # See this issue for more context (yes, I've seen this problem before): diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3d9d758301..14a666f78b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -189,7 +189,7 @@ jobs: include: - php: '5.4' - os: 'ubuntu-latest' + os: 'ubuntu-24.04-arm' custom_ini: false # Installing on Windows with PHP 5.4 runs into all sorts of problems with Composer. # Considering PHP 5.4 is ancient, I deem it acceptable to run coverage on Windows on PHP 5.5. @@ -205,7 +205,7 @@ jobs: custom_ini: true # yamllint disable-line rule:line-length - name: "Coverage: ${{ matrix.php }} ${{ matrix.custom_ini && ' with custom ini settings' || '' }} (${{ matrix.os == 'ubuntu-latest' && 'Linux' || 'Win' }})" + name: "Coverage: ${{ matrix.php }} ${{ matrix.custom_ini && ' with custom ini settings' || '' }} (${{ matrix.os == 'windows-latest' && 'Win' || 'Linux' }})" steps: - name: Prepare git to leave line endings alone