Agent Skillsdartsim/dart › dart-ci

dart-ci

GitHub

用于调试 DART 项目的 CI/CD 失败及 GitHub Actions 问题。提供监控 PR 检查、查看运行详情、调试日志等 gh CLI 命令,列举常见故障(如格式化、Codecov、平台特定崩溃)的解决方案,并说明各工作流用途及 CUDA 运行器安全策略。

.codex/skills/dart-ci/SKILL.md dartsim/dart

Trigger Scenarios

CI 构建或测试失败 需要排查 GitHub Actions 运行日志 处理跨平台编译错误(如 macOS ARM64、FreeBSD) 验证或配置 CUDA 相关工作流

Install

npx skills add dartsim/dart --skill dart-ci -g -y
More Options

Non-standard path

npx skills add https://github.com/dartsim/dart/tree/main/.codex/skills/dart-ci -g -y

Use without installing

npx skills use dartsim/dart@dart-ci

指定 Agent (Claude Code)

npx skills add dartsim/dart --skill dart-ci -a claude-code -g -y

安装 repo 全部 skill

npx skills add dartsim/dart --all -g -y

预览 repo 内 skill

npx skills add dartsim/dart --list

SKILL.md

Frontmatter
{
    "name": "dart-ci",
    "description": "DART CI: GitHub Actions, cache debugging, and platform-specific failures"
}

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 only after explicit maintainer/user approval
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 Type Solution
Formatting fails pixi run lint; push only after approval
Codecov patch fails Add tests for uncovered lines
FreeBSD RTTI fails Use type enums + static_cast instead of dynamic_cast
macOS ARM64 SEGFAULT Replace alloca()/VLAs with std::vector<T>
RTD build fails Use defensive .get(key, default) patterns
gz-physics fails Reproduce with pixi run -e gazebo test-gz

Workflow Architecture

Workflow Purpose Platforms
ci_lint.yml Formatting Ubuntu
ci_ubuntu.yml Build + test + coverage Ubuntu
ci_macos.yml Build + test macOS
ci_windows.yml Build + test Windows
ci_freebsd.yml Build + test (VM) FreeBSD
ci_gz_physics.yml Gazebo integration Ubuntu
ci_cuda.yml CUDA compile + smoke Ubuntu/GPU

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.

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 only after explicit maintainer/user approval, then 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

Platform Cached Uncached
Ubuntu 20-30 min 45-60 min
macOS 15-25 min 30-45 min
Windows 15-20 min 25-35 min

Version History

  • e0d13fd Current 2026-07-05 10:37

Same Skill Collection

.claude/skills/dart-architecture/SKILL.md
.claude/skills/dart-build/SKILL.md
.claude/skills/dart-ci/SKILL.md
.claude/skills/dart-contribute/SKILL.md
.claude/skills/dart-io/SKILL.md
.claude/skills/dart-python/SKILL.md
.claude/skills/dart-references/SKILL.md
.claude/skills/dart-test/SKILL.md
.codex/skills/dart-analyze/SKILL.md
.codex/skills/dart-architecture/SKILL.md
.codex/skills/dart-audit-agent-compliance/SKILL.md
.codex/skills/dart-backport-pr/SKILL.md
.codex/skills/dart-benchmark-packet/SKILL.md
.codex/skills/dart-branch-cleanup/SKILL.md
.codex/skills/dart-build/SKILL.md
.codex/skills/dart-changelog/SKILL.md
.codex/skills/dart-close-issue/SKILL.md
.codex/skills/dart-contribute/SKILL.md
.codex/skills/dart-deps/SKILL.md
.codex/skills/dart-docs-update/SKILL.md
.codex/skills/dart-downstream-fix/SKILL.md
.codex/skills/dart-execute-packet/SKILL.md
.codex/skills/dart-fix-ci/SKILL.md
.codex/skills/dart-fix-issue/SKILL.md
.codex/skills/dart-io/SKILL.md
.codex/skills/dart-manage-pr/SKILL.md
.codex/skills/dart-mechanical-refactor/SKILL.md
.codex/skills/dart-new-task/SKILL.md
.codex/skills/dart-next/SKILL.md
.codex/skills/dart-plan-update/SKILL.md
.codex/skills/dart-pr/SKILL.md
.codex/skills/dart-python/SKILL.md
.codex/skills/dart-references/SKILL.md
.codex/skills/dart-release-merge-main/SKILL.md
.codex/skills/dart-release-packaging/SKILL.md
.codex/skills/dart-resume/SKILL.md
.codex/skills/dart-retrospect/SKILL.md
.codex/skills/dart-review-pr/SKILL.md
.codex/skills/dart-test/SKILL.md
.codex/skills/dart-triage-issue/SKILL.md

Metadata

Files
0
Version
e0d13fd
Hash
f775858b
Indexed
2026-07-05 10:37

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-09 05:29
浙ICP备14020137号-1 $Гость$