DART贡献工作流 dart-contribute

此技能提供DART项目代码贡献的完整工作流指南,包括分支命名、PR创建、代码审查、双PR策略用于Bug修复,以及变更日志更新。关键词:DART,贡献,GitHub,PR,代码审查,DevOps。

DevOps 0 次安装 0 次浏览 更新于 3/6/2026

name: dart-contribute description: DART贡献工作流 - 分支、PR、代码审查、bug修复的双PR

DART贡献工作流

加载此技能当贡献代码到DART时。

完整文档

完整指南:docs/onboarding/contributing.md

代码风格:docs/onboarding/code-style.md

分支命名

  • feature/<topic> - 新功能
  • fix/<topic> - Bug修复
  • refactor/<topic> - 重构
  • docs/<topic> - 文档

PR工作流

# 创建分支
git checkout -b <type>/<topic> origin/main

# 做出更改,然后
pixi run lint
pixi run test-all

# 推送并创建PR
git push -u origin HEAD
gh pr create --draft --milestone "DART 7.0"

经验法则:在提交之前运行pixi run lint,以便包含自动修复。

使用.github/PULL_REQUEST_TEMPLATE.md并确保PR描述覆盖摘要、动机、更改、测试、破坏性更改和相关问题。

里程碑(必需)

创建PR时始终设置里程碑:

目标分支 里程碑
main DART 7.0(或下一个主要版本)
release-6.16 DART 6.16.x(当前补丁)
# 在现有PR上设置里程碑
gh pr edit <PR#> --milestone "DART 7.0"

# 列出可用里程碑
gh api repos/dartsim/dart/milestones --jq '.[] | .title'

关键:Bug修复双PR

Bug修复需要PR到两个分支:

  1. release-6.16 - 当前发布版本
  2. main - 下一个发布版本

步骤:

  1. 首先在release-6.16上修复
  2. Cherry-pick到main
  3. 为每个创建单独的PR

变更日志(创建PR后)

创建PR后,检查是否需要更新CHANGELOG.md

更改类型 更新CHANGELOG?
Bug修复 ✅ 是
新功能 ✅ 是
破坏性更改 ✅ 是(在Breaking Changes部分)
文档改进 ✅ 是(在Tooling and Docs部分)
CI/工具更改 ✅ 是(在Tooling and Docs部分)
重构(无行为更改) ⚠️ 可能(如果重要)
依赖项更新 ⚠️ 可能(如果面向用户)
拼写错误修复 ❌ 否

格式:- 描述。 ([#PR](https://github.com/dartsim/dart/pull/PR))

# 在CHANGELOG.md中适当部分下的示例条目:
- 添加了AI原生文档与AGENTS.md和模块特定指南。 ([#2446](https://github.com/dartsim/dart/pull/2446))

代码审查

  • 处理所有反馈
  • 保持更改最小化
  • 如果行为更改,更新测试
  • 推送修复前运行完整验证

CI循环

gh run watch <RUN_ID> --interval 30

修复失败直到通过。