如何确保所有预提交挂钩都通过 CI/CD
How to ensure that all pre-commit hooks pass in CI/CD
我的团队在我们的存储库中使用 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 操作(不推荐用于新用例)
免责声明:我创建了预提交和预commit.ci,以及 github 操作
我的团队在我们的存储库中使用 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 操作(不推荐用于新用例)
免责声明:我创建了预提交和预commit.ci,以及 github 操作