如何确保所有预提交钩子在 CI/CD 中通过

Joh*_*etz 12 pre-commit pre-commit-hook pre-commit.com

我的团队在我们的存储库中使用预提交来运行各种代码检查和格式化程序。我的大多数队友都使用它,但有些人通过使用git commit --no-verify. 无论如何,是否可以在 CI/CD 中运行某些内容以确保所有预提交挂钩都通过(我们正在使用 GitHub 操作)。如果至少有一个钩子失败,则抛出一个错误。

Ant*_*ile 29

有几种选择:

  • 一个临时作业,pre-commit run --all-filespre-commit.com 文档中所示运行(--show-diff-on-failure如果您使用格式化程序,您可能也需要)
  • pre-commit.ci专门为此目的构建的 CI 系统
  • 预提交/操作处于仅维护模式的 github 操作(不建议用于新用例)

免责声明:我创建了 pre-commit、pre-commit.ci 和 github 操作