DART CI/CD Troubleshooting

SkillDev tools

DART CI: GitHub Actions, cache debugging, and platform-specific failures

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the DART CI/CD Troubleshooting skill

What this skill tells your AI

The instructions your AI receives, as published by dartsim/dart in .agents/skills/dart-ci/SKILL.md and read by ahel’s review.

Load this skill when debugging CI failures or working with GitHub Actions.

When the failing claim depends on 3D structure or behavior, also load dart-verify-sim and reproduce it with a text oracle plus assessed visual evidence, or record why that renderer is unavailable in the failing environment.

Full Documentation

For complete CI/CD guide: docs/onboarding/ci-cd.md

Common Failure Modes

Failure TypeSolution
Formatting failspixi run lint; push only after approval
Codecov patch failsInspect coverage upload/reporting before adding tests
FreeBSD RTTI failsUse type enums + static_cast instead of dynamic_cast
macOS ARM64 SEGFAULTReplace alloca()/VLAs with std::vector<T>
RTD build failsUse defensive .get(key, default) patterns
gz-physics failsReproduce with pixi run -e gazebo test-gz

CUDA Runner Policy

The project has a trusted ubuntu-latest-gpu runner for same-repository CUDA runtime validation, but it must never run untrusted fork-PR code. Consequences:

  • Same-repository PRs, protected branch pushes, and manual dispatches use the GPU runner and run pixi run --locked -e cuda test-cuda.
  • Fork PRs use a GitHub-hosted fallback and compile CUDA targets without running GPU-only steps.
  • Local CUDA validation is pixi run -e cuda test-all on Linux hosts with a visible NVIDIA CUDA runtime; local Pixi config auto-detects visible GPU compute capabilities for DART_CUDA_ARCHITECTURES.
  • pixi run check-phase5-cuda-workflow enforces the trusted-event GPU guard and fork-PR hosted fallback in ci_cuda.yml.

Caching And Timing

Use the cache policy, current timing guidance, and investigation steps in docs/onboarding/ci-cd.md. Treat observed job duration and cache diagnostics from the affected run as the current evidence; do not copy mutable timing or hit-rate estimates into this skill.

Signals

GitHub stars
1k
Forks
304
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
dart-ci
Source
github.com/dartsim/dart