chore(deps): update nvidia/cuda docker tag to v13#88
Conversation
📝 WalkthroughWalkthroughWorker Dockerfile base image updated from CUDA 12.6.3-runtime-ubuntu24.04 to 13.2.1-runtime-ubuntu24.04. Single-line dependency version bump affecting the container runtime layer. ChangesCUDA Base Image Update
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
worker/Dockerfile (1)
13-13:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winStale base-image comment now mismatches effective image tag.
Line 13 still documents
12.6.3-runtime-ubuntu24.04; effective base at Line 33 is13.2.1-runtime-ubuntu24.04. Update comment to avoid operator/debug drift.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@worker/Dockerfile` at line 13, The top-of-file comment documenting the base image is stale (mentions "nvidia/cuda:12.6.3-runtime-ubuntu24.04") and should be updated to match the actual FROM image tag used ("nvidia/cuda:13.2.1-runtime-ubuntu24.04"); edit the comment text that references the base image so it reflects the effective image tag and any descriptor (e.g., "runtime-ubuntu24.04") to avoid operator/debug drift.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@worker/Dockerfile`:
- Line 33: The Dockerfile comment header is stale and CI lacks coverage for CUDA
runtime init after bumping FROM in worker/Dockerfile to
nvidia/cuda:13.2.1-runtime-ubuntu24.04; update the top-of-file header text to
reflect the new base image and add a CI smoke step on a self-hosted GPU runner
(e.g., in build-worker.yaml) that runs a minimal in-container ffmpeg invocation
using -init_hw_device cuda=... plus a CUDA filter such as scale_cuda or
tonemap_cuda and fails on nonzero exit so CUDA hw init is exercised (ensure the
step does not set REPLAY_NO_FFMPEG=1 and add a short docker-compose or docker
run that launches the worker image to execute the ffmpeg command); this will
detect init errors with the new CUDA runtime while keeping existing non-GPU CI
unchanged (docker-compose-smoke.yaml can remain without the worker for GH
runners).
---
Outside diff comments:
In `@worker/Dockerfile`:
- Line 13: The top-of-file comment documenting the base image is stale (mentions
"nvidia/cuda:12.6.3-runtime-ubuntu24.04") and should be updated to match the
actual FROM image tag used ("nvidia/cuda:13.2.1-runtime-ubuntu24.04"); edit the
comment text that references the base image so it reflects the effective image
tag and any descriptor (e.g., "runtime-ubuntu24.04") to avoid operator/debug
drift.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 00245bdc-bfa3-47a4-b8d6-45592c45eb6a
📒 Files selected for processing (1)
worker/Dockerfile
| -o /out/scaleplex-agent ./... | ||
|
|
||
| FROM nvidia/cuda:12.6.3-runtime-ubuntu24.04 | ||
| FROM nvidia/cuda:13.2.1-runtime-ubuntu24.04 |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Read-only repo reconnaissance: verify whether a CUDA/NVENC smoke check already exists.
# Expectation: a workflow/job/script explicitly validates CUDA hw init or NVENC path.
set -euo pipefail
echo "== Search workflows/scripts for CUDA/NVENC smoke checks =="
rg -n -C2 --iglob '*.yml' --iglob '*.yaml' --iglob '*.sh' \
'init_hw_device|hwaccel|nvenc|nvdec|nvidia-smi|NVIDIA_DRIVER_CAPABILITIES|/dev/nvidia0|ffmpeg.*cuda'
echo
echo "== Search Dockerfile/worker docs for declared verification steps =="
rg -n -C2 'cuda|nvenc|nvdec|smoke|validation|compat' worker/Dockerfile worker/ README.mdRepository: Varashi/scaleplex
Length of output: 50374
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== Check CI/workflows for CUDA/NVENC smoke checks =="
if [ -d .github ]; then
rg -n --hidden --glob '!.git/*' \
'(init_hw_device|hwaccel|nvenc|nvdec|nvidia-smi|NVIDIA_DRIVER_CAPABILITIES|/dev/nvidia0|ffmpeg.*cuda)' \
.github/workflows .github/actions .github/scripts 2>/dev/null || true
else
echo "No .github directory"
fi
echo
echo "== Search for nvidia-smi / hwdevice init across repo (trimmed) =="
rg -n --hidden --glob '!.git/*' \
'(nvidia-smi|init_hw_device|filter_hw_device|hwaccel_output_format|tonemap_cuda|scale_cuda)' \
--glob '!worker/agent/testdata/**' --glob '!worker/agent/testdata/*.json' \
--glob '!worker/agent/testdata/**/**.json' .
echo
echo "== Inspect worker/Dockerfile header comments around lines 10-20 =="
nl -ba worker/Dockerfile | sed -n '1,60p'
echo
echo "== Inspect NVENC-related unit tests that mention -init_hw_device =="
rg -n --glob 'worker/agent/*test*.go' \
'init_hw_device|filter_hw_device|scale_cuda|tonemap_cuda' worker/agent | head -n 200Repository: Varashi/scaleplex
Length of output: 50435
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== List common CI entrypoints =="
ls -la .github 2>/dev/null || echo "no .github dir"
ls -la . 2>/dev/null | head -n 200
find . -maxdepth 3 -type f \( -name "*.yml" -o -name "*.yaml" \) \
\( -path "./.github/*" -o -name "Dockerfile" -o -path "./deploy/*" -o -path "./scripts/*" \) 2>/dev/null | head -n 200
echo
echo "== Show GitHub workflows files (if any) =="
if [ -d .github/workflows ]; then
find .github/workflows -type f -maxdepth 2 \( -name "*.yml" -o -name "*.yaml" \) | sed -n '1,200p'
else
echo "no .github/workflows"
fi
echo
echo "== Search workflows/scripts for CUDA/NVENC smoke hooks (GPU runtime check keywords) =="
rg -n --hidden --glob '!.git/*' \
'(nvidia-smi|NVIDIA_DRIVER_CAPABILITIES|/dev/nvidia0|ffmpeg.*cuda|init_hw_device.*cuda|filter_hw_device.*cuda|hwaccel_output_format:0 *cuda)' \
.github/workflows .github/actions .github/scripts 2>/dev/null || true
echo
echo "== Inspect worker/Dockerfile around header + FROM lines =="
sed -n '1,80p' worker/Dockerfile | cat -n | sed -n '1,80p'
echo
echo "== Confirm existing CUDA-related tests (unit vs integration) =="
rg -n --glob 'worker/agent/*test*.go' 'init_hw_device.+cuda|filter_hw_device.+cuda|scale_cuda|tonemap_cuda' worker/agent \
| head -n 200Repository: Varashi/scaleplex
Length of output: 12440
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== Search within workflows for ffmpeg/cuda/nvenc/nvidia keywords =="
rg -n --glob '*.yml' --glob '*.yaml' \
'(ffmpeg.*cuda|init_hw_device|filter_hw_device.*cuda|nvenc|nvdec|nvidia-smi|/dev/nvidia0|NVIDIA_VISIBLE_DEVICES|NVIDIA_DRIVER_CAPABILITIES|hwaccel_output_format:0\s*cuda)' \
.github/workflows
echo
echo "== Inspect docker-compose-smoke workflow (top 200 lines) =="
sed -n '1,220p' .github/workflows/docker-compose-smoke.yaml | cat -n
echo
echo "== Inspect build-worker workflow (top 200 lines) =="
sed -n '1,220p' .github/workflows/build-worker.yaml | cat -n
echo
echo "== Inspect build-ffmpeg workflow (top 220 lines) =="
sed -n '1,220p' .github/workflows/build-ffmpeg.yaml | cat -nRepository: Varashi/scaleplex
Length of output: 129
🏁 Script executed:
#!/bin/bash
set -euo pipefail
for f in \
.github/workflows/docker-compose-smoke.yaml \
.github/workflows/build-worker.yaml \
.github/workflows/build-orchestrator.yaml \
.github/workflows/build-shim.yaml \
.github/workflows/build-ffmpeg.yaml \
.github/workflows/build-ffmpeg-deps.yaml
do
echo "===== $f (line count) ====="
wc -l "$f" || true
echo
echo "===== $f (content) ====="
sed -n '1,260p' "$f" | cat -n
echo
done
echo "== Search for container/GPU smoke signals across workflows (looser patterns) =="
rg -n --glob '*.yml' --glob '*.yaml' \
'(docker\s+compose|compose|up -d|nvidia|NVIDIA|gpu|cud(a|nn)|cuda|nvidia-smi|/dev/nvidia|ffmpeg|ffprobe|smoke|smoketest|smoke-test|hwaccel|nvenc|nvdec)' \
.github/workflowsRepository: Varashi/scaleplex
Length of output: 24574
Add CUDA device-init smoke coverage for the CUDA runtime base bump
FROM nvidia/cuda:13.2.1-runtime-ubuntu24.04- CI currently doesn’t exercise CUDA hw init:
build-worker.yamlruns replay withREPLAY_NO_FFMPEG=1(rewriter-only), anddocker-compose-smoke.yamlomits the worker because GH runners lack GPU passthrough, soffmpeg -init_hw_device cuda=.../ CUDA surface init isn’t hit. - Add a CI step on a self-hosted GPU runner that runs a minimal in-container
ffmpegcommand reaching the CUDA path (e.g. includes-init_hw_device cuda=...and a CUDA filter likescale_cudaortonemap_cuda) and fails on init errors.
Fix stale Dockerfile header base version
worker/Dockerfileheader comment still saysnvidia/cuda:12.6.3-runtime-ubuntu24.04while the image now usesnvidia/cuda:13.2.1-runtime-ubuntu24.04. Update the header text to match.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@worker/Dockerfile` at line 33, The Dockerfile comment header is stale and CI
lacks coverage for CUDA runtime init after bumping FROM in worker/Dockerfile to
nvidia/cuda:13.2.1-runtime-ubuntu24.04; update the top-of-file header text to
reflect the new base image and add a CI smoke step on a self-hosted GPU runner
(e.g., in build-worker.yaml) that runs a minimal in-container ffmpeg invocation
using -init_hw_device cuda=... plus a CUDA filter such as scale_cuda or
tonemap_cuda and fails on nonzero exit so CUDA hw init is exercised (ensure the
step does not set REPLAY_NO_FFMPEG=1 and add a short docker-compose or docker
run that launches the worker image to execute the ffmpeg command); this will
detect init errors with the new CUDA runtime while keeping existing non-GPU CI
unchanged (docker-compose-smoke.yaml can remain without the worker for GH
runners).
This PR contains the following updates:
12.6.3-runtime-ubuntu24.04→13.2.1-runtime-ubuntu24.04Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate.