Tom*_*ell 3 github github-actions
我正在尝试根据 github 操作工作流程的成功或失败设置 github 分支保护规则。
您可以在此处查看工作流程:
https://github.com/apostropecms/apostrope/blob/main/.github/workflows/main.yml
工作流程通过了,我什至有一个工作徽章,但我无法设置要求其通过状态检查的分支保护规则。
我可以根据矩阵中的任何一个单独构建设置分支保护规则,但我不想单独设置所有这些规则并在矩阵规则更改时跟踪它们。
正如您从屏幕截图中看到的,我无法选择“构建”,即作业的名称(尽管我可以选择任何子构建),而且我也无法选择“测试”,即作业的名称。整个工作流程(如果我使用大写 t,它不会改变)。
我缺少什么?感谢您的帮助!
屏幕截图一:我可以选择一个子构建,但不能选择整个构建作业。
屏幕截图二:我根本无法选择整个“测试”工作流程的名称。
小智 8
有一个技巧可以在工作流程中添加一个步骤,以将矩阵中的所有作业收集到一个检查中:
tests:
runs-on: ubuntu-latest
needs: build
if: always()
steps:
- name: All tests ok
if: ${{ !(contains(needs.*.result, 'failure')) }}
run: exit 0
- name: Some tests failed
if: ${{ contains(needs.*.result, 'failure') }}
run: exit 1
Run Code Online (Sandbox Code Playgroud)
if: always()有义务收集失败的任务,否则 PR 将永远无法得到正确的状态检查。此外,这是您需要支付的额外步骤(如果您使用付费计划)。