From 87f65f3857ae00ecd4548043ee3343c87ac45cdd Mon Sep 17 00:00:00 2001 From: rhysd Date: Sat, 18 Jan 2025 17:32:11 +0100 Subject: [PATCH] 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 Signed-off-by: Christian Brabandt --- .github/workflows/ci.yml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0470389332..fc0a477501 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -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