> For the complete documentation index, see [llms.txt](https://yisaer.gitbook.io/chaos-mesh-contributing-tutorials/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://yisaer.gitbook.io/chaos-mesh-contributing-tutorials/can-kao-zi-liao/chang-jian-ci-cuo-wu.md).

# 常见 CI 错误

每一个提交给 chaos-mesh 的 pull request 都需要经过 CI 环境的检查。目前 chaos-mesh 的 ci 主要验证以下两点:

* 是否已经格式化代码、更新并生成yaml文件
* 是否能通过单元测试

如果你的 CI 没有通过，点进详细信息（如下图), 接下来我们将描述几个常见的 CI 错误

![](https://1291933796-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M2IsX5-oEJhFNZjjLWY%2F-M2Ish7rVj-QAMQu0Dsh%2F-M2ItQPMz9lsqmBffHpi%2Fci-failed.png?alt=media\&token=a5257b1b-e3fc-49d0-aa9f-93b0b047c416)

## 代码未经过格式化

在 CI 过程中，会去检查代码是否经过格式化，如果在错误信息中出现下图场景，那么意味着你需要进行代码格式化以及更新 yaml 文件。

![](https://1291933796-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M2IsX5-oEJhFNZjjLWY%2F-M2Ish7rVj-QAMQu0Dsh%2F-M2ItQPRDw3MRs734EL7%2Ffmt-ci-error.png?alt=media\&token=b5a4bf4f-db23-400b-8244-1aca3679522f)

你可以通过在项目根目录下执行以下两个命令来格式化代码以及更新 yaml 文件:

> `make fmt`
>
> `make yaml`

## 未通过单元测试

如果在 CI 测试环节中发现是单元测试没有通过，可以通过以下步骤来进行检查:

1. 在项目根目录执行本地测试命令来验证是否新改动的代码引起测试失败:

> `make test`

如果测试没有通过，则需要修复代码来通过测试。如果测试通过，则继续往下进行。

1. 遭遇了不稳定的测试

目前 chaos-mesh 的单元测试中， ptrace 相关测试并不稳定。可以通过在 pull request 中新增评论 `/test` 来重新运行 CI 测试。

![](https://1291933796-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M2IsX5-oEJhFNZjjLWY%2F-M2Ish7rVj-QAMQu0Dsh%2F-M2ItQPQXn3SHRcMQjcO%2Fci-ptrace.png?alt=media\&token=0a9724b2-9cb4-4e07-b9e8-5d1b691c2e77)

## CI 通过

当 pull request 页面中出现以下情况时，则意味着 CI 测试全部通过，可以等待 Maintainer 来进行 code review.

![](https://1291933796-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M2IsX5-oEJhFNZjjLWY%2F-M2Ish7rVj-QAMQu0Dsh%2F-M2ItQPOCHYyPOfG_HVz%2Fci-pass.png?alt=media\&token=5ee01cef-2d29-4c67-9744-544e4ecaeb0f)
