Skip to content
10 changes: 9 additions & 1 deletion .github/workflows/cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,13 @@ jobs:
runs-on: ubuntu-24.04-arm
title: ARM64 Ubuntu 22.04 C++
ubuntu: 22.04
- arch: riscv64
clang-tools: 18
image: ubuntu-cpp
llvm: 18
runs-on: ubuntu-24.04-riscv
title: RISCV64 Ubuntu 24.04 C++
ubuntu: 24.04
Comment on lines +105 to +112
Copy link

Copilot AI Mar 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new riscv64 job will likely run with reduced filesystem test coverage: on riscv64, ci/scripts/install_minio.sh and ci/scripts/install_gcs_testbench.sh currently skip installation for unsupported architectures, and ci/scripts/cpp_test.sh then excludes arrow-s3fs-test / arrow-gcsfs-test when minio / storage-testbench aren’t present. If the intent is a “regular” C++ CI job, consider adding riscv64 support for these dependencies (or making the reduced coverage explicit in the workflow/job config).

Suggested change
- arch: riscv64
clang-tools: 18
image: ubuntu-cpp
llvm: 18
runs-on: ubuntu-24.04-riscv
title: RISCV64 Ubuntu 24.04 C++
ubuntu: 24.04
# NOTE: On riscv64, MinIO and the GCS storage testbench are not installed,
# so S3/GCS filesystem tests (arrow-s3fs-test / arrow-gcsfs-test) run with
# reduced coverage or are skipped. This job is intentionally marked as such.
- arch: riscv64
clang-tools: 18
image: ubuntu-cpp
llvm: 18
runs-on: ubuntu-24.04-riscv
title: RISCV64 Ubuntu 24.04 C++ (reduced filesystem tests)
ubuntu: 24.04
filesystem-tests: reduced

Copilot uses AI. Check for mistakes.
env:
ARCH: ${{ matrix.arch }}
ARROW_SIMD_LEVEL: ${{ matrix.simd-level }}
Expand All @@ -128,7 +135,8 @@ jobs:
python-version: 3
- name: Setup Python on self-hosted runner
if: |
contains(matrix.runs-on, 'self-hosted')
contains(matrix.runs-on, 'self-hosted') ||
contains(matrix.runs-on, 'ubuntu-24.04-riscv')
Copy link

Copilot AI Mar 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Python-setup condition is now coupled to a specific runner label (contains(matrix.runs-on, 'ubuntu-24.04-riscv')). For maintainability (e.g., if the runner label changes or additional RISC-V labels are introduced), consider keying this off the matrix data (matrix.arch == 'riscv64') or a dedicated matrix flag (e.g., needs-python-apt: true) instead of matching on the runs-on string.

Suggested change
contains(matrix.runs-on, 'ubuntu-24.04-riscv')
matrix.arch == 'riscv64'

Copilot uses AI. Check for mistakes.
run: |
sudo apt update
sudo apt install -y --no-install-recommends python3 python3-dev python3-pip
Expand Down
Loading