# .code.yml 规则检查

# 格式检查

需要符合 yaml 文件格式

如果某一项,取值为空,那么需要删除此项; 不要出现有 key, 但是取值为 空,[]的情况

# .code.yml 节点检查

  • branch 仓库需要定义分支类型,该值定义需要存在

    • trunk_name: 不能为空
    • branch_type_A/B/C: 至少有一个,比如:有一个 branch_type_B:
  • artifact 不允许不配置

    • artifact_type: 不能为空
  • source

    • 可以不配置 source 项
    • 若配置了 source,则可以按需要配置 test_source, auto_generate_source, third_party_source 任意一项或者多项
      source:
      test_source:
              filepath_regex: [".*_test.go"]

  • 如果任意一项 filepath_regex 存在正则,则需要检查是否符合正则要求

  • code_review 不做检查

  • file 不允许不配置

    • path : 不能为空
    • owners : 不能为空
    • owner_rule : 取值必须大于等于 -1

# 错误提示说明

  • 配置项没有设值 在.code.yml 配置文件中,不允许出现有 key, 但是无值的情况; 如果无法确认取值,请删掉这个 key; 例如 : source 节点,包含了 auto_generate_source, test_source, third_party_source 三个子节点,但是仓库中没有自动生成代码和第三方代码,那么可以写成
·          source:
·                 test_source:
·                 filepath_regex: [".*_test.go"]
·
·
  • 根目录下的.code.yml 配置,branch 配置项不能为空 每个项目在根目录下会有一个 .code.yml 文件,这个文件必须要有 branch 节点的配置;

  • branch_type_A, branch_type_B, branch_type_C 至少需要配置一项 branch 节点在配置时,必须制定两个值; trunk_name 和 branch_type_A, branch_type_B, branch_type_C 中任意一项

  • branch : trunk_name 不能为空 branch 节点在配置时,必须制定两个值; trunk_name 和 branch_type_A, branch_type_B, branch_type_C 中任意一项

  • 根目录下的.code.yml 配置,artifact 配置项不能为空 每个项目在根目录下会有一个 .code.yml 文件,这个文件必须要有 artifact 节点的配置;

  • artifact : artifact_type 配置不能为空 artifact 节点的子节点中,artifact_type 的配置必须要非空

  • 自动生成代码配置正则有误 : {非法正则}
    表示.code.yml 中配置了 source : auto_generate_source : filepath_regex 节点,但是 filepath_regex 配置的列表中,包含 不符合正则表达式配置

  • 测试代码配置正则有误:{非法正则}
    表示.code.yml 中配置了 source : test_source : filepath_regex 节点,但是 filepath_regex 配置的列表中,包含 不符合正则表达式 的配置

  • 第三方代码配置正则有误 : {非法正则}
    表示.code.yml 中配置了 source : third_party_source : filepath_regex 节点,但是 filepath_regex 配置的列表中,包含 不符合正则表达式 的配置

  • path 不能为空
    根节点 file 是一个列表,列表中每一项,需要包含三个 key - path, owners, owner_rule;
    path 必须必须不能为空
    owners 必须是一个列表,并且不能为空列表,必须配置一个负责人
    owner_rule 的取值范围需要 大于等于 -1

  • owners 不能为空,对应 path : {不能正确识别为正则的 path 路径}
    根节点 file 是一个列表,列表中每一项,需要包含三个 key - path, owners, owner_rule;
    path 必须必须不能为空
    owners 必须是一个列表,并且不能为空列表,必须配置一个负责人
    owner_rule 的取值范围需要 大于等于 -1 这里 {不能正确识别为正则的 path 路径} 代表列表中,配置了 path 为 {不能正确识别为正则的 path 路径} 的那一个

  • owner_rule 取值应该大于 -1, 对应 path : {不能正确识别为正则的 path 路径}
    根节点 file 是一个列表,列表中每一项,需要包含三个 key - path, owners, owner_rule;
    path 必须必须不能为空
    owners 必须是一个列表,并且不能为空列表,必须配置一个负责人
    owner_rule 的取值范围需要 大于等于 -1
    这里 {不能正确识别为正则的 path 路径} 代表列表中,配置了 path 为 {不能正确识别为正则的 path 路径} 的那一个

  • 读取目录失败 : {不能正确识别为正则的 path 路径} 工具在遍历目录时发生异常,请确认目录是否存在,并且可读; {不能正确识别为正则的 path 路径} 标识错误原因

  • 读取配置文件失败 : {不能正确识别为正则的 path 路径} 工具在读取 .code.yml 文件时发生异常,请确认文件是否存在,并且可读; {不能正确识别为正则的 path 路径} 标识错误原因

  • 解析配置文件失败 : 错误 : {不能正确识别为正则的 path 路径} 工具找到了.code.yml 的文件路径,但是解析内容时失败,请确认 .code.yml 的文件格式,是否符合 yaml 文件格式标准; {不能正确识别为正则的 path 路径} 标识解析失败的原因

# 一份最简.code.yml 配置示例

#必须要有这个节点, 并且trunk_name不能为空; branch_type_A,branch_type_B,branch_type_C任意配置一个
branch:
  trunk_name: master
  branch_type_A:
    personal_feature:
      pattern: feature/${userID}_${storyID}
    bugfix:
      pattern: bugfix/${userID}_${bugID}
    tag:
      pattern: v${versionnumber}[${releasetype}[_${description}]{_yyyyMMddHHmm}]
      versionnumber: versionnumber={Major-version}.{Feature-version}.{Fix-version}.{BuildNo}
#必须要有整个节点并且artifact_type不能为空
artifact:
 - path: /
   artifact_type : "终端"

#整个节点可以不配置
source:
  test_source:
    filepath_regex: [".*_test.go",".*_test.sh"]

file:
- path: classes/app/1.md
  owners:  ["git_helper_02", "git_helper_03"]
  owner_rule: -1

lastUpdate: 6/28/2022, 11:10:40 PM