Skip to content

Latest commit

 

History

History
executable file
·
69 lines (45 loc) · 2.08 KB

CONTRIBUTING.md

File metadata and controls

executable file
·
69 lines (45 loc) · 2.08 KB

CONTRIBUTING 约定

作为共同协作的项目,风格的统一非常重要,我们将共同遵守下方的规则。

1. 代码规范

1.1 请遵守谷歌golang开发规范

https://github.com/golang/go/wiki/CodeReviewComments

1.2 请确保代码通过了golangci-lint扫描

https://golangci-lint.run/

1.3 推荐使用wsl工具对换行进行检测

https://github.com/bombsimon/wsl

建议在使用wsl前,先阅读wsl/doc/rules.md中的实例。

2. git 相关

2.1 使用git-flow

https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow

一句话概括就是: 开发时从develop分支切出feature,开发完成后提MR合并到develop

2.2 commit message 需要遵守规范

https://chris.beams.io/posts/git-commit/

2.3 commit 变更不要太多

一次commit中,代码的变更量最好控制在200 ~ 400行之间。

2.4 CR && MR !!!

CR指的是:Code Review,请在开发过程中进行CR,一次CR尽量不要超过500行。

请通过MR进行合并,不要直接操作分支。

3. 单元测试

3.1 单元测试覆盖率需要达到70%

实际上, 70% 的覆盖率非常低, 如果你的覆盖率低于 70 % , 你也可以发起MR,我们共同讨论。

3.2 Mock

好的代码设计可以减少mock的使用,请尽量避免mock。

3.2.1 mock 时使用 go:generate

mock时请使用go:generate进行mock文件的生成,生成的文件存放在internal/mock

4. CI

当前CI流水线基于github actions,详情请见:go.yaml

其中,Set up Git, Set GoProxy用于本地运行。

4.1 本地运行流水线无误后提交

github actions流水线可以通过act本地运行,安装方法如下:

brew unlink act && brew install act --HEAD

# 配置github ssh key
act -s MY_SECRET=${github_ssh_sha256_key}

# 配置本地运行ubuntu镜像版本 ATTENTION! 这个镜像大小为 6.68G !
echo "-P ubuntu-latest=nektos/act-environments-ubuntu:18.04" > ~/.actrc

运行方法如下:

act pull_request