CI: add Linux arm64 CI job

This patch adds jobs to run tests on arm64 GitHub Actions hosted runner
for tiny and huge features.

closes: #16477

Signed-off-by: rhysd <lin90162@yahoo.co.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
rhysd
2025-01-18 17:32:11 +01:00
committed by Christian Brabandt
parent 7c92e88894
commit 87f65f3857

View File

@ -17,7 +17,7 @@ permissions:
jobs:
linux:
runs-on: ubuntu-22.04
runs-on: ${{ matrix.architecture == 'arm64' && 'ubuntu-22.04-arm' || 'ubuntu-22.04' }}
env:
CC: ${{ matrix.compiler }}
@ -48,6 +48,10 @@ jobs:
- features: tiny
compiler: gcc
extra: [nogui]
- features: tiny
compiler: gcc
extra: [nogui]
architecture: arm64
- features: normal
shadow: ./src/shadow
compiler: gcc
@ -73,6 +77,11 @@ jobs:
compiler: gcc
coverage: true
extra: [unittests]
- features: huge
compiler: gcc
coverage: true
extra: [unittests]
architecture: arm64
- features: normal
compiler: gcc
extra: [vimtags]
@ -251,11 +260,19 @@ jobs:
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
- name: Test
if: matrix.architecture != 'arm64'
timeout-minutes: 25
run: |
do_test() { echo "$*"; sg audio "sg $(id -gn) '$*'"; }
do_test make ${SHADOWOPT} ${TEST}
# `sg audio` does not work on arm64 runner due to permission ('Incorrect password' error).
- name: Test on arm64
if: matrix.architecture == 'arm64'
timeout-minutes: 25
run: |
make ${SHADOWOPT} ${TEST}
- if: ${{ !cancelled() }}
uses: ./.github/actions/test_artifacts