在 GitHub 拉取请求消息和描述上运行 Commitlint

Ayd*_*hew 5 github

如何在 GitHub 拉取请求消息和描述上运行 commitlint? https://github.com/conventional-changelog/commitlint

在此处输入图片说明

我们目前在我们的 CI 中运行 commitlint。然而,这在过程中为时已晚,即无效的提交消息已经在分支中。

我能找到的唯一方法是使用 GitHub 应用程序。以下是我找到/尝试过的应用程序。也许唯一的解决方案是构建我们自己的/自定义的 GitHub 应用程序?然而,对 GitHub PR 进行 linting 似乎是一个常见的请求,我觉得我在这里错过了一些基本的东西。

这个 GitHub 应用程序看起来很完美,但目前无法运行:https : //github.com/apps/commitlint

这个 GitHub 应用程序允许通过自定义正则表达式提交消息/描述。但是,我找不到关于 commitlint 是否可以表示为单个正则表达式语句的任何信息。 https://github.com/marketplace/commit-message-lint

此 GitHub 应用程序仅可用于公共存储库——我们的存储库是私有的。 https://github.com/marketplace/commit-lint/plan/MDIyOk1hcmtldHBsYWNlTGlzdGluZ1BsYW4xMjUz#pricing-and-setup

这个 GitHub 应用程序支持多个正则表达式。 https://github.com/ewolfe/prlint

Von*_*onC 1

如果 GitHub 应用程序无法正常工作,您可以回退到Webhook 方法,这意味着拥有一个侦听器,该侦听器将响应 GitHub 在每次推送时发送的 JSON 有效负载。

该听众可以:

  • 应用提交 linter
  • 如果所述 linter 失败,可以:
    • 强制推送 HEAD~1 上的同一分支以有效取消(拒绝)推送
    • 发送电子邮件通知推送刚刚被拒绝。

至少,Webhook 将立即运行,而不是在 CI 管道期间运行。