CI 检查#
Autoware 对拉取请求进行了多项检查. 结果显示在拉取请求页面的底部,如下所示.

如果显示标记❌,请单击 详细信息 按钮并调查失败原因.
如果显示 Required 标记,则无法合并拉取请求,除非解决错误.
如果不是,则它是可选的,但最好是固定的.
以下部分介绍了 Autoware 中的常见 CI 检查. 请注意,某些存储库可能具有不同的设置.
DCO#
开发人员原产地证书 (DCO) 是一种轻量级方式,供贡献者证明他们编写了或以其他方式有权提交他们为项目贡献的代码.
此工作流程检查拉取请求是否满足 DCO.
你需要确认 必需项目 并使用 git commit -s 提交.
有关更多信息,请参阅 GitHub 应用程序页面.
语义拉取请求#
此工作流程检查拉取请求是否遵循 Conventional Commits.
详细规则见 pull request rules.
预提交#
预先提交 是一个在提交时运行 formatter 或 linter 的工具.
此工作流程检查拉取请求是否没有 pre-commit 错误.
在存储库中启用的工作流 pre-commit.ci - pr 中,它将尽可能多地 pre-commit.ci 自动修复错误.
如果仍然存在一些错误,请手动修复它们.
您可以通过以下命令在本地环境中运行 pre-commit:
pre-commit run -a
或者你可以将 pre-commit 安装到仓库中,并在提交之前自动运行它:
pre-commit install
由于很难在没有误报的情况下检测错误,因此某些作业被拆分到另一个配置文件中并标记为可选.
要检查它们,请使用 --config 选项:
pre-commit run -a --config .pre-commit-config-optional.yaml
拼写检查差异#
此工作流程使用 CSpell 和 我们的词典文件 来检测拼写错误. 由于很难检测到没有误报的错误,因此这是一个可选的工作流程,但最好尽可能多地删除拼写错误.
如果需要使用未在词典中注册的单词,则有以下选项.
- 如果该单词只在几个文件中使用,您可以使用 内联文档设置
cspell:ignore来禁止检查. - 如果该单词在仓库中被广泛使用,您可以创建本地 cspell json 并将其传递给 spell-check action.
- 如果该词很常见并且可能在许多存储库中使用,您可以向 tier4/autoware-spell-check-dict 或 tier4/cspell-dicts 提交拉取请求以更新词典.
构建和测试差异#
此工作流程检查拉取请求的 colcon build 和 colcon test.
为了提高 CI 的速度,它不会检查所有包,而只检查修改后的包和依赖项.
构建和测试差分自托管#
此工作流是 生成和测试差异 的 ARM64 版本.
您需要添加 ARM64 标签才能运行此工作流.
有关参考信息,由于 GitHub 托管的运行器不支持 ARM 计算机,因此我们使用 AWF 准备的自托管运行器. 有关自托管 Runner 的详细信息,请参阅 GitHub Docs.
部署文档#
此工作流程为拉取请求部署预览文档站点.
您需要添加 deploy-docs 标签才能运行此工作流程.