Claude-skill-registry dart-ci

DART CI/CD troubleshooting - GitHub Actions, cache debugging, platform-specific failures

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/dart-ci" ~/.claude/skills/majiayu000-claude-skill-registry-dart-ci && rm -rf "$T"
manifest: skills/data/dart-ci/SKILL.md
source content
<!-- AUTO-GENERATED FILE - DO NOT EDIT MANUALLY --> <!-- Source: .claude/skills/dart-ci/SKILL.md --> <!-- Sync script: scripts/sync_ai_commands.py --> <!-- Run `pixi run sync-ai-commands` to update -->

DART CI/CD Troubleshooting

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

Quick Commands

# Monitor PR checks
gh pr checks <PR_NUMBER>
gh pr checks <PR_NUMBER> --watch --interval 30 --fail-fast

# View run details
gh run list --branch <BRANCH> -e pull_request -L 20
gh run watch <RUN_ID> --interval 30
gh run view <RUN_ID> --json status,conclusion,url

# Debug failures
gh run view <RUN_ID> --job <JOB_ID> --log-failed
gh run view <RUN_ID> --json jobs --jq '.jobs[] | {name, databaseId}'

# Rerun failed jobs
gh run rerun <RUN_ID> --failed
gh run rerun <RUN_ID> --job <DATABASE_ID>

Full Documentation

For complete CI/CD guide:

docs/onboarding/ci-cd.md

Common Failure Modes

Failure TypeSolution
Formatting fails
pixi run lint
then push
Codecov patch failsAdd tests for uncovered lines
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

Workflow Architecture

WorkflowPurposePlatforms
ci_lint.yml
FormattingUbuntu
ci_ubuntu.yml
Build + test + coverageUbuntu
ci_macos.yml
Build + testmacOS
ci_windows.yml
Build + testWindows
ci_freebsd.yml
Build + test (VM)FreeBSD
ci_gz_physics.yml
Gazebo integrationUbuntu

Fast Iteration Loop

  1. Identify failing step from job logs
  2. Reproduce locally with same build toggles
  3. Fix the smallest failing test
  4. Push and monitor:
    gh run watch <RUN_ID>

Caching

  • sccache/ccache reduces build time 50-70%
  • Check cache hit rates in workflow logs
  • Force cache bust by changing cache key if needed

Expected CI Times

PlatformCachedUncached
Ubuntu20-30 min45-60 min
macOS15-25 min30-45 min
Windows15-20 min25-35 min