Skip to content
Draft
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
WIP: [CI][GPU] Test runs-on with cuda runners
  • Loading branch information
raulcd committed Dec 17, 2025
commit 64e86f2899559dccc52146f59eb951a539bd9c8e
51 changes: 51 additions & 0 deletions .github/workflows/cpp_extra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,56 @@ jobs:
os: windows-11-arm
simd-level: NONE

cuda-cpp:
needs: check-labels
if: >-
needs.check-labels.outputs.force == 'true' ||
contains(fromJSON(needs.check-labels.outputs.ci-extra-labels || '[]'), 'CI: Extra') ||
contains(fromJSON(needs.check-labels.outputs.ci-extra-labels || '[]'), 'CI: Extra: C++')
name: CUDA 13.0.2 C++ on Ubuntu 24.04
runs-on: "runs-on=${{ github.run_id }}/family=g4dn.xlarge/image=ubuntu24-gpu-x64"
Copy link
Member Author

Choose a reason for hiding this comment

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

smaller nvidia instances 0.533 USD per Hour

env:
CUDA: "13.0.2"
UBUNTU: "24.04"
steps:
- name: Display NVIDIA SMI details
run: |
nvidia-smi
nvidia-smi -L
nvidia-smi -q -d Memory
- name: Ensure Docker is available with GPU support
run: docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
- name: Checkout Arrow
uses: actions/checkout@v6
with:
fetch-depth: 0
submodules: recursive
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: 3
- name: Setup Archery
run: python3 -m pip install -e dev/archery[docker]
- name: Execute Docker Build
env:
ARCHERY_DOCKER_USER: ${{ github.actor }}
ARCHERY_DOCKER_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
source arrow/ci/scripts/util_enable_core_dumps.sh
archery docker run \
ubuntu-cuda-cpp
- name: Docker Push
if: >-
success() &&
github.event_name == 'push' &&
github.ref_name == 'main'
env:
ARCHERY_DOCKER_USER: ${{ github.actor }}
ARCHERY_DOCKER_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
continue-on-error: true
run: archery docker push ubuntu-cuda-cpp

jni-linux:
needs: check-labels
name: JNI ${{ matrix.platform.runs-on }} ${{ matrix.platform.arch }}
Expand Down Expand Up @@ -440,6 +490,7 @@ jobs:
if: github.event_name == 'schedule' && always()
needs:
- docker
- cuda-cpp
- jni-linux
- jni-macos
- msvc-arm64
Expand Down