ci工作流文件出错,如何拒绝git推送?

How to decline git push when ci workflow file has an error?

我有一个用于 github 操作的 yaml 文件:

name : "Integration"

on :
 push :
  branches : [master]

jobs :
    test-code : 
       runs-on : ubuntu-latest
       steps : 
         - uses : actions/checkout@v2
         - uses : actions/setup-node@v1
         - run : npm run test
         - run : npm run build

我想 运行 测试然后构建,如果没有错误,推送到 github 存储库。

如果测试代码操作通过,我如何推送到 github 回购?

GitHub 只知道推送到存储库的代码。它无法验证仅在您的本地副本上可用的任何内容。

仅对 GitHub 存储库中可用的代码调用该操作 – 推送到那里的代码。

换句话说,做你想做的事是不可能的。

您可以在使用挂钩(如 pre-receive hook)接受推送之前进行一些验证,但这不如操作那么稳健。

我想说的是,您正在寻找的是工作流,它假设合并 requests/pull 请求仅在分支上执行的 GitHub 操作成功完成时才被接受。