From 77ba09a918b9941e0defc983f6acf003621a812b Mon Sep 17 00:00:00 2001 From: Peter Becich Date: Sat, 15 Feb 2025 20:44:12 -0800 Subject: [PATCH] add CI coverage for `aarch64-linux` (#4713) * add CI coverage for `aarch64-linux` https://github.com/actions/partner-runner-images/blob/main/images/arm-ubuntu-24-image.md * configure `setup-eask` to use x86_64 or arm64 https://github.com/emacs-eask/setup-eask?tab=readme-ov-file#-usage * fix Cmake dependency * fix Setup Eask step --- .github/workflows/test.yml | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a111c120a7..44819acb44 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, macos-latest, windows-latest] + os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest] emacs-version: - 27.2 - 28.2 @@ -23,6 +23,9 @@ jobs: - os: ubuntu-latest emacs-version: snapshot experimental: true + - os: ubuntu-24.04-arm + emacs-version: snapshot + experimental: true - os: macos-latest emacs-version: snapshot experimental: true @@ -38,9 +41,19 @@ jobs: with: version: ${{ matrix.emacs-version }} - - uses: emacs-eask/setup-eask@master + - name: Setup Eask + uses: emacs-eask/setup-eask@master + if: matrix.os != 'ubuntu-24.04-arm' + with: + version: 'snapshot' + architecture: 'x64' + + - name: Setup Eask for linux-aarch64 + uses: emacs-eask/setup-eask@master + if: matrix.os == 'ubuntu-24.04-arm' with: version: 'snapshot' + architecture: 'arm64' - name: Setup cmake if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' @@ -48,8 +61,12 @@ jobs: with: cmake-version: '3.18.x' + - name: Setup cmake for linux-aarch64 + if: matrix.os == 'ubuntu-24.04-arm' + uses: lukka/get-cmake@latest + - name: Check cmake - if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' + if: matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm' || matrix.os == 'macos-latest' run: "cmake --version" - uses: actions/setup-python@v5.1.0 @@ -74,11 +91,11 @@ jobs: - uses: actions/checkout@v4 - name: Grant execution permission - if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' + if: matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm' || matrix.os == 'macos-latest' run: chmod -R 777 ./ - name: Run tests (Unix) - if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' + if: matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm' || matrix.os == 'macos-latest' run: make unix-ci - name: Run tests (Windows) @@ -86,7 +103,7 @@ jobs: run: make windows-ci - name: Move built artifact (Unix) - if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' + if: matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm' || matrix.os == 'macos-latest' run: | mv -f ./.eask/ ./test/downstream/.eask/ mv -f ./dist/ ./test/downstream/dist/