Skip to content

Commit 0c7bbb0

Browse files
SteNicholasclaude
andcommitted
ci: build and test on aarch64 runners and document architecture support
Parameterize runs-on in the build-and-test matrix and add gcc-release-arm64 and clang-debug-arm64 jobs on ubuntu-24.04-arm so aarch64 is covered by CI. Document x86_64/aarch64 support in the building guide and note that the Lumina prebuilt package is only available for x86_64 Linux. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent ac2e446 commit 0c7bbb0

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

.github/workflows/build_and_test.yaml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ permissions:
3232
jobs:
3333
build-and-test:
3434
name: ${{ matrix.name }}
35-
runs-on: ubuntu-24.04
35+
runs-on: ${{ matrix.runner || 'ubuntu-24.04' }}
3636
timeout-minutes: 120
3737
strategy:
3838
fail-fast: false
@@ -52,6 +52,13 @@ jobs:
5252
build_args: >-
5353
--check_clang_tidy
5454
--lint_git_target_commit "origin/${{ github.base_ref || github.event.repository.default_branch }}"
55+
- name: gcc-release-arm64
56+
runner: ubuntu-24.04-arm
57+
cc: gcc-14
58+
cxx: g++-14
59+
build_args: --build_type Release
60+
- name: clang-debug-arm64
61+
runner: ubuntu-24.04-arm
5562
- name: asan-ubsan
5663
build_args: --enable_asan --enable_ubsan
5764
- name: tsan

docs/source/building.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ Building requires:
3232
* A C++17-enabled compiler. On Linux, gcc 8 and higher should be
3333
sufficient. On macOS, use AppleClang from Xcode Command Line Tools or
3434
LLVM clang from Homebrew. Windows is not supported for now.
35+
* An x86_64 or aarch64 (arm64) CPU. Both architectures are supported and
36+
tested on Linux and macOS, including Apple Silicon.
3537
* At least 2GB of RAM for a minimal build, 8GB for a minimal
3638
debug build with tests and 16GB for a full build.
3739

@@ -146,6 +148,8 @@ boolean flags to ``cmake``.
146148
* ``-DPAIMON_ENABLE_AVRO=ON``: Apache Avro libraries and Paimon integration
147149
* ``-DPAIMON_ENABLE_JINDO=ON``: Support for Alibaba Jindo filesystems
148150
* ``-DPAIMON_ENABLE_LUMINA=ON``: Support for Lumina vector index, lumina is only supported on gcc9 or higher.
151+
The Lumina prebuilt package is currently only available for x86_64 Linux,
152+
so this option cannot be enabled on aarch64.
149153

150154
Third-party dependency source
151155
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

0 commit comments

Comments
 (0)