add CI coverage for aarch64-linux
#5770
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} | |
continue-on-error: ${{ matrix.experimental }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest] | |
emacs-version: | |
- 27.2 | |
- 28.2 | |
- 29.4 | |
experimental: [false] | |
include: | |
- 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 | |
- os: windows-latest | |
emacs-version: snapshot | |
experimental: true | |
exclude: | |
- os: macos-latest | |
emacs-version: 27.2 | |
steps: | |
- uses: jcs090218/setup-emacs@master | |
with: | |
version: ${{ matrix.emacs-version }} | |
- 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' | |
uses: jwlawson/actions-setup-cmake@v1.4 | |
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 == 'ubuntu-24.04-arm' || matrix.os == 'macos-latest' | |
run: "cmake --version" | |
- uses: actions/setup-python@v5.1.0 | |
with: | |
python-version: "3.9" | |
- name: Install depedencies on Linux | |
if: runner.os == 'Linux' | |
run: | | |
pip3 install python-language-server | |
sudo apt-get install clangd-15 | |
- name: Install depedencies on macOS | |
if: runner.os == 'macOS' | |
run: | | |
pip3 install python-language-server | |
- name: Check clangd | |
if: runner.os == 'Linux' | |
run: "clangd-15 --version" | |
- uses: actions/checkout@v4 | |
- name: Grant execution permission | |
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 == 'ubuntu-24.04-arm' || matrix.os == 'macos-latest' | |
run: make unix-ci | |
- name: Run tests (Windows) | |
if: matrix.os == 'windows-latest' | |
run: make windows-ci | |
- name: Move built artifact (Unix) | |
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/ | |
- name: Move built artifact (Windows) | |
if: matrix.os == 'windows-latest' | |
run: | | |
mv -Force ./.eask/ ./test/downstream/.eask/ | |
mv -Force ./dist/ ./test/downstream/dist/ | |
- name: Test downstream packages | |
run: make test-downstream-pkgs |