基于 Github 平台的 .NET 开源项目模板 - PR 相关
本篇将介绍开源模板的 PR 相关功能配置
赘述 project.yml 使用周期
-
文件来源: 运行跟目录下的 scanner.bat/sh 生成的.
-
文件位置: .github\project.yml
-
如何生效:
- 1.更改 project.yml 中的节点配置.
- 2.重新运行 scanner.bat/sh 使其生效.
PR 管道功能
开源模板默认的开发流程是, 从主分支创建 dev 分支的, 模板默认在 dev** 分支接收到 PR 时触发管道, 您需要基于主分支手动创建 dev.vnext / dev.next / dev.other 等前缀为 dev.
的分支, 再从 dev.*
分支创建其他功能分支.
建议在所有管道配置完成之后再创建.
1. PR 标记
scanner.bat/sh 将会扫描 .NET 解决方案, 并追加项目节点到 project.yml 中, 其中配置里的全局节点 global_labels 如果赋值, 项目将在PR是打上全局的 Label. 如果某个项目
有定制化的需求, 比如项目 A 除了全局Label 外还想加上自己的 Label, 那么可以在它的 labels 节点后继续追加 label 内容.
请注意 Action 节点, Action 节点无法根据解决方案扫描生成, 您可以手动向 project.yml 添加节点,它不依赖解决方案, 它也并不会"失忆", sacnner.bat/sh 对 Action 节点格外宽松.
2. PR 单元测试
您会发现 test 根节点下面的实体有额外的属性, 比如 trigger_pull_request_test, 该属性为 true 时, 脚本重新运行将会把该项目追加到单元测试管道中, 以便于在 PR 创建时运行它.
这里请注意, 单元测试或许会有一些兼容性等问题, 那么您可能需要学会修订单元测试模板, 它的位置在: .github\NMS_TEMPLATE\test.yml.template, 如下图所示:
这个模板定义了 3种环境, 及4个.NET 版本的模板, 也许并不会覆盖您的测试环境, 请酌情修改它, 并配合 project.yml 重新生成单元测试配置文件.
3. PR 推荐
PR 推荐与 ISSUE 推荐类似, 但它不在 project.yml 的配置范围, 它的配置文件位置在 .github\workflows\pr_recommend.yml. 它可配置的参数为:
-
ISSUE_STATUS: OPEN
- ALL, 推荐源将从 关闭和打开状态的 issue 中寻找相似的推荐.
- OPEN, 推荐源将从 打开状态的 issue 中寻找相似的推荐.
- CLOSED, 推荐源将从 已关闭的 issue 中寻找相似的推荐.
-
USE_PADDLE: "TRUE" 使用 Paddle 模式进行更准确的分词.
-
PICK_COUNT: 1 仅推荐1条相似的 issue
-
MIN_SIMILAR_SCORE: 0.80 相似度最小是80%
-
MAX_SIMILAR_SCORE: 1 相似度最大是100%
4. PR 归档
当 PR 成功合并后,会触发 PR 归档. PR 归档属于全自动流程, 无需配置. 文件位置 .github\workflows\pr_archive.yml