git - ci工作流文件出错时如何拒绝git push?
问题描述
我有一个用于 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 repo。
如果测试代码操作通过,我如何才能推送到 github 存储库?
解决方案
GitHub 只知道推送到存储库的代码。它无法验证仅在您的本地副本上可用的任何内容。
仅在 GitHub 存储库中可用的代码(即推送到那里的代码)上调用该操作。
换句话说,完全按照您的意愿去做是不可能的。
pre-receive
您可以在使用钩子(如钩子)接受推送之前进行一些验证,但这不如操作那么健壮。
我会说您正在寻找的是工作流程,该工作流程假定仅当在分支上执行的 GitHub 操作成功完成时才接受合并请求/拉取请求。
推荐阅读
- sql - 如何创建验证另一个表中的列的 PL/SQL 行触发器
- excel - 运行时用户表单 - 访问数据输入
- python - 使用 GINI INDEX 手动构建决策树
- javascript - 获取对象而不是布尔值
- java - 当 arraylist.size > 1 布局消失并且数组可见时尝试设置条件,反之亦然
- c++ - 有没有办法在编译时对类型 ID 进行排序?
- javascript - 加载时按列对 HTML 表进行排序
- r - 在不使用 colnames() 的情况下更改 R 中矩阵的列名
- react-native - Reanimated 中的错误“试图从不同的线程同步调用函数 res”
- javascript - HTML 元素 (tr &td) 显示在客户端