我创建了一个工作流,当分支A被推送时,它会自动地将分支A合并到分支B中,而当分支B被推送时,工作流就会运行。但是,当推进分支B时,工作流不会运行。这是GitHub规范吗?如果是的话,我想知道是否有文件或问题清楚地说明了这一点。
name: CI
on:
push:
branches: [ "A" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Merge branch B
run: |
git fetch
git checkout B
git merge A
git push origin Bname: CI-2
on:
push:
branches: [ "B" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Test
run: echo Hello发布于 2022-08-25 15:05:36
根据正式文档(从工作流触发工作流),出现此问题是因为:
当您使用存储库的
GITHUB_TOKEN执行任务时,由GITHUB_TOKEN触发的事件不会创建新的工作流运行。这防止您意外地创建递归工作流运行。例如,如果工作流运行使用存储库的GITHUB_TOKEN推送代码,即使存储库包含配置为在发生推送事件时运行的工作流,新工作流也不会运行。
为了使它发挥作用:
如果您确实希望从工作流运行中触发工作流,可以使用个人访问令牌而不是
GITHUB_TOKEN来触发需要令牌的事件。您需要创建一个个人访问令牌,并将其作为一个秘密存储。若要将GitHub操作的使用成本降到最低,请确保不创建递归或意外的工作流运行。有关创建个人访问令牌的详细信息,请参阅"创建个人访问令牌。“以获取有关将个人访问令牌存储为秘密的详细信息,请参阅"创建和存储加密的秘密。”。
如果您不熟悉GITHUB_TOKEN的概念,并且希望获得更多关于它的使用的上下文,我建议检查本节摘自正式文件。
https://stackoverflow.com/questions/73486033
复制相似问题