ci(test): use ARM ubuntu linux for more CI jobs #34908

Problem:
We temporarily disabled linux arm ci because of stability issues with
the runner. #32339 Since then, the hardware was changed, so we can try
re-enabling ARM linux CI. https://github.com/actions/partner-runner-images/issues/47#issuecomment-2678170225

Solution:
- re-enable arm linux ci. reverts 8e4b77134a
- also use arm image for these jobs, where arm seems to run much faster:
- `lint` (step: `clang-tidy`)
    - master: 1m5s
    - this pr (linux ARM): 37s
- `clang-analyzer` (step: `cmake --build ...`)
    - master: 10m
    - this pr (linux ARM) 5m 55s
- `with-external-deps` (step: `Build`)
    - master: 26s
    - this pr (linux ARM): 21s
This commit is contained in:
Justin M. Keyes
2025-07-12 17:32:59 -04:00
committed by GitHub
parent 3812cb1cd1
commit 430be9d01d
4 changed files with 12 additions and 8 deletions

View File

@ -54,7 +54,7 @@ If your system does not have the required glibc version, try the (unsupported) [
2. Extract: `tar xzvf nvim-linux-x86_64.tar.gz` 2. Extract: `tar xzvf nvim-linux-x86_64.tar.gz`
3. Run `./nvim-linux-x86_64/bin/nvim` 3. Run `./nvim-linux-x86_64/bin/nvim`
### Linux (arm64) - Untested ### Linux (arm64)
#### AppImage #### AppImage

View File

@ -28,7 +28,7 @@ env:
jobs: jobs:
lint: lint:
runs-on: ubuntu-24.04 runs-on: ubuntu-24.04-arm
timeout-minutes: 10 timeout-minutes: 10
env: env:
CC: clang CC: clang
@ -38,7 +38,7 @@ jobs:
- name: Install stylua - name: Install stylua
run: | run: |
wget --directory-prefix="$BIN_DIR" https://github.com/JohnnyMorganz/StyLua/releases/latest/download/stylua-linux-x86_64.zip wget --directory-prefix="$BIN_DIR" https://github.com/JohnnyMorganz/StyLua/releases/latest/download/stylua-linux-aarch64.zip
(cd "$BIN_DIR"; unzip stylua*.zip) (cd "$BIN_DIR"; unzip stylua*.zip)
- name: Build third-party deps - name: Build third-party deps
@ -82,7 +82,7 @@ jobs:
run: cmake --build build --target lintc-uncrustify run: cmake --build build --target lintc-uncrustify
clang-analyzer: clang-analyzer:
runs-on: ubuntu-24.04 runs-on: ubuntu-24.04-arm
timeout-minutes: 20 timeout-minutes: 20
env: env:
CC: clang CC: clang
@ -111,7 +111,7 @@ jobs:
{ runner: ubuntu-24.04, os: ubuntu, flavor: asan, cc: clang, flags: -D ENABLE_ASAN_UBSAN=ON }, { runner: ubuntu-24.04, os: ubuntu, flavor: asan, cc: clang, flags: -D ENABLE_ASAN_UBSAN=ON },
{ runner: ubuntu-24.04, os: ubuntu, flavor: tsan, cc: clang, flags: -D ENABLE_TSAN=ON }, { runner: ubuntu-24.04, os: ubuntu, flavor: tsan, cc: clang, flags: -D ENABLE_TSAN=ON },
{ runner: ubuntu-24.04, os: ubuntu, flavor: release, cc: gcc, flags: -D CMAKE_BUILD_TYPE=Release -D ENABLE_TRANSLATIONS=ON }, { runner: ubuntu-24.04, os: ubuntu, flavor: release, cc: gcc, flags: -D CMAKE_BUILD_TYPE=Release -D ENABLE_TRANSLATIONS=ON },
# { runner: ubuntu-24.04-arm, os: ubuntu, flavor: arm, cc: gcc, flags: -D CMAKE_BUILD_TYPE=RelWithDebInfo }, { runner: ubuntu-24.04-arm, os: ubuntu, flavor: arm, cc: clang, flags: -D CMAKE_BUILD_TYPE=RelWithDebInfo },
{ runner: macos-13, os: macos, flavor: intel, cc: clang, flags: -D CMAKE_FIND_FRAMEWORK=NEVER, deps_flags: -D CMAKE_FIND_FRAMEWORK=NEVER }, { runner: macos-13, os: macos, flavor: intel, cc: clang, flags: -D CMAKE_FIND_FRAMEWORK=NEVER, deps_flags: -D CMAKE_FIND_FRAMEWORK=NEVER },
{ runner: macos-15, os: macos, flavor: arm, cc: clang, flags: -D CMAKE_FIND_FRAMEWORK=NEVER, deps_flags: -D CMAKE_FIND_FRAMEWORK=NEVER }, { runner: macos-15, os: macos, flavor: arm, cc: clang, flags: -D CMAKE_FIND_FRAMEWORK=NEVER, deps_flags: -D CMAKE_FIND_FRAMEWORK=NEVER },
{ runner: ubuntu-24.04, os: ubuntu, flavor: puc-lua, cc: gcc, deps_flags: -D USE_BUNDLED_LUAJIT=OFF -D USE_BUNDLED_LUA=ON, flags: -D PREFER_LUA=ON }, { runner: ubuntu-24.04, os: ubuntu, flavor: puc-lua, cc: gcc, deps_flags: -D USE_BUNDLED_LUAJIT=OFF -D USE_BUNDLED_LUA=ON, flags: -D PREFER_LUA=ON },
@ -124,6 +124,10 @@ jobs:
build: { flavor: puc-lua } build: { flavor: puc-lua }
- test: oldtest - test: oldtest
build: { flavor: tsan } build: { flavor: tsan }
- test: unittest
build: { runner: ubuntu-24.04-arm }
- test: oldtest
build: { runner: ubuntu-24.04-arm }
runs-on: ${{ matrix.build.runner }} runs-on: ${{ matrix.build.runner }}
timeout-minutes: 45 timeout-minutes: 45
env: env:
@ -220,7 +224,7 @@ jobs:
uses: ./.github/workflows/test_windows.yml uses: ./.github/workflows/test_windows.yml
with-external-deps: with-external-deps:
runs-on: ubuntu-24.04 runs-on: ubuntu-24.04-arm
timeout-minutes: 10 timeout-minutes: 10
env: env:
CC: gcc CC: gcc

View File

@ -346,7 +346,7 @@ else()
add_custom_target(lua_dev_deps) add_custom_target(lua_dev_deps)
endif() endif()
if (CMAKE_SYSTEM_PROCESSOR MATCHES arm64) if (CMAKE_SYSTEM_PROCESSOR MATCHES "arm|aarch")
set(LUALS_ARCH arm64) set(LUALS_ARCH arm64)
else() else()
set(LUALS_ARCH x64) set(LUALS_ARCH x64)

View File

@ -13,11 +13,11 @@ Supported platforms *supported-platforms*
`System` `Tier` `Versions` `Tested versions` `System` `Tier` `Versions` `Tested versions`
Linux (x86_64) 1 >= 2.6.32, glibc >= 2.12 Ubuntu 24.04 Linux (x86_64) 1 >= 2.6.32, glibc >= 2.12 Ubuntu 24.04
Linux (arm64) 1 >= 2.6.32, glibc >= 2.12 Ubuntu 24.04
macOS (x86_64) 1 >= 11 macOS 13 macOS (x86_64) 1 >= 11 macOS 13
macOS (arm64) 1 >= 11 macOS 15 macOS (arm64) 1 >= 11 macOS 15
Windows 64-bit 1 >= Windows 10 Version 1809 Windows Server 2022 Windows 64-bit 1 >= Windows 10 Version 1809 Windows Server 2022
FreeBSD 1 >= 10 FreeBSD 14 FreeBSD 1 >= 10 FreeBSD 14
Linux (arm64) 2 >= 2.6.32, glibc >= 2.12
OpenBSD 2 >= 7 OpenBSD 2 >= 7
MinGW 2 MinGW-w64 MinGW 2 MinGW-w64
Windows 64-bit 3 < Windows 10 Version 1809 Windows 64-bit 3 < Windows 10 Version 1809