问题描述
我的团队在我们的存储库中使用 Pre-commit 来运行各种代码检查和格式化程序。我的大多数队友都使用它,但有些人通过使用 git commit --no-verify
来完全跳过它。无论如何要在 CI/CD 中运行某些东西以确保所有预提交挂钩都通过(我们正在使用 GitHub 操作)。如果至少有一个钩子失败,则抛出一个错误。
解决方法
有几种选择:
- 将
pre-commit run --all-files
作为 demonstrated in pre-commit.com docs 运行的临时作业(如果您使用格式化程序,您可能还需要--show-diff-on-failure
) - pre-commit.ci 专门为此目的构建的 CI 系统
- pre-commit/action 处于仅维护模式的 github 操作(不推荐用于新用例)
免责声明:我创建了 pre-commit、pre-commit.ci 和 github action