From 581992c2203bea33d4c05455d1c83f61111b281f Mon Sep 17 00:00:00 2001 From: cdunning Date: Wed, 26 Nov 2025 20:01:45 -0800 Subject: [PATCH 1/4] Add initial GitHub Actions CI workflow - Simple CI workflow for testing runner infrastructure - Tests Docker functionality and NVIDIA CUDA image access - Uses CUDA 13.0.2 base image with Ubuntu 24.04 - Supports manual dispatch and runs on push/PR to main --- .github/workflows/ci.yml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..71262b4 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,31 @@ +name: CI + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + workflow_dispatch: + +jobs: + test: + name: Test Environment + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Test Docker + run: | + docker --version + docker run --rm hello-world + + - name: Test CUDA Image + run: | + docker pull nvidia/cuda:13.0.2-base-ubuntu24.04 + docker run --rm nvidia/cuda:13.0.2-base-ubuntu24.04 bash -c " + echo 'CUDA container test successful' + cat /etc/os-release + which nvcc || echo 'nvcc not in PATH' + " From 803a73f5987107e7c4722c70be18db5c0b38c793 Mon Sep 17 00:00:00 2001 From: cdunning Date: Wed, 26 Nov 2025 20:08:33 -0800 Subject: [PATCH 2/4] Add GPU detection and enable workflow on feature branch - Add host GPU hardware detection with lspci and nvidia-smi - Add container GPU access test with --gpus all flag - Enable workflow triggers on cd/initial-ci branch for testing - Will show RTX Pro 6000 GPU information when running on GPU runners --- .github/workflows/ci.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 71262b4..a0f06a7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,6 +21,12 @@ jobs: docker --version docker run --rm hello-world + - name: Check GPU Hardware + run: | + echo "=== Host GPU Information ===" + lspci | grep -i nvidia || echo "No NVIDIA GPU found via lspci" + nvidia-smi || echo "nvidia-smi not available on host" + - name: Test CUDA Image run: | docker pull nvidia/cuda:13.0.2-base-ubuntu24.04 @@ -29,3 +35,13 @@ jobs: cat /etc/os-release which nvcc || echo 'nvcc not in PATH' " + + - name: Test CUDA Image with GPU Access + run: | + echo "=== Testing GPU access in container ===" + docker run --rm --gpus all nvidia/cuda:13.0.2-base-ubuntu24.04 bash -c " + echo 'Container with GPU access:' + nvidia-smi || echo 'nvidia-smi not available in container' + echo 'CUDA Runtime version:' + cat /usr/local/cuda/version.txt 2>/dev/null || echo 'CUDA version file not found' + " || echo "GPU access failed - may not be available on this runner" From e2b973a64830505ad9be6585c9e6a73042fc0b11 Mon Sep 17 00:00:00 2001 From: cdunning Date: Wed, 26 Nov 2025 20:10:15 -0800 Subject: [PATCH 3/4] Fix runner targeting to use RTX Pro 6000 GPU runner - Change runs-on from ubuntu-latest to linux-amd64-gpu-rtxpro6000-latest-1 - Re-enable branch trigger for cd/initial-ci to test GPU runner - Should now run on the correct GPU-enabled self-hosted runner --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a0f06a7..7a02e87 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ on: jobs: test: name: Test Environment - runs-on: ubuntu-latest + runs-on: linux-amd64-gpu-rtxpro6000-latest-1 steps: - name: Checkout From 01debba3e40ba9d076595823e77fb2c6de689103 Mon Sep 17 00:00:00 2001 From: cdunning Date: Mon, 1 Dec 2025 15:54:15 -0800 Subject: [PATCH 4/4] Add PR testing --- .github/workflows/ci.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7a02e87..1840e8b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,15 +2,16 @@ name: CI on: push: - branches: [ main ] - pull_request: - branches: [ main ] + branches: + - main + - "pull-request/[0-9]+" workflow_dispatch: jobs: test: name: Test Environment runs-on: linux-amd64-gpu-rtxpro6000-latest-1 + timeout-minutes: 30 steps: - name: Checkout