我有一个名为stage的分支,并且当前有一个工作流,当一个PR被标记时运行(以合并到stage分支),并且我目前正在尝试创建一个工作流,如果分支成功地自动完成的话。
例如--以下是stage分支工作流的工作示例:
name: PR opened to stage
on:
pull_request:
types: [labeled]
branches: [ stage ]
jobs:
audit-checks:
runs-on: self-hosted
steps:
- uses: actions/checkout@v2
if: contains(github.event.pull_request.labels.*.name, 'ready')
- name: Enable Auto Merge
uses: peter-evans/enable-pull-request-automerge@v1
if: contains(github.event.pull_request.labels.*.name, 'ready')
with:
token: ${{ secrets.GITHUB_TOKEN }}
pull-request-number: ${{ github.event.pull_request.number }}
merge-method: merge这是另一个工作流程,当一个舞台公关结束时,它应该运行。我还有一个步骤,检查标签是否包含ready,并应该为另一个分支创建另一个PR:
name: ready for prod test
on:
pull_request:
types: [closed]
branches: [ stage ]
jobs:
audit-checks:
runs-on: self-hosted
steps:
- uses: actions/checkout@v2
- name: automate PR creation for prod
if: |
${{ github.event.pull_request.merged }} && contains(github.event.pull_request.labels.*.name, 'ready')
uses: peter-evans/create-pull-request@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
branch: stage
base: prod
labels: ready
title: Automated PR opened 当PR最初被打开并标记为ready时,第一个工作流似乎运行得很好。然而,一旦该工作流启用了自动合并,并且它实际上是自动合并(在工作流完成后),第二个工作流就不会被触发。
是否有可能第二个工作流在第一个工作流完成之前就在运行,而实际上没有为此做任何事情?我不确定这是我的第二份工作(至少还没有),因为它甚至没有运行(或运行和失败)。
发布于 2021-12-29 04:56:38
我刚在这里找到答案:https://docs.github.com/en/actions/security-guides/automatic-token-authentication
当您使用存储库的GITHUB_TOKEN代表GitHub动作应用程序执行任务时,由GITHUB_TOKEN触发的事件不会创建新的工作流运行。这防止您意外地创建递归工作流运行。例如,如果工作流运行使用存储库的GITHUB_TOKEN推送代码,即使存储库包含配置为在发生推送事件时运行的工作流,新工作流也不会运行。
https://stackoverflow.com/questions/70514932
复制相似问题