让我们以包含两个任务的工作流为例--构建和注释
name: TestWorkflow
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: self-hosted
steps:
- uses: actions/checkout@v2
- name: Build code
run: |
whoami
./build
comment:
runs-on: self-hosted
needs: build
steps:
- uses: actions/github-script@v3
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
github.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: 'Test comment'
})此工作流将在推送和打开对主分支的拉请求时触发。但是,虽然构建总是成功的,但在push场景中,评论作业将失败,因为没有对其进行评论的拉请求。
是否可以指定每个作业而不是每个工作流的触发器?类似于:
name: TestWorkflow2
jobs:
build:
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
...
comment:
on:
pull_request:
branches: [ master ]
...发布于 2021-04-23 16:51:09
除非满足条件,否则可以使用if条件(参考)防止作业或步骤运行。
例如,在这里,只有在触发工作流的事件是if: ${{ github.event_name == 'pull_request' }}的情况下,才可以向comment job中添加pull_request来执行它。
comment:
runs-on: self-hosted
needs: build
if: ${{ github.event_name == 'pull_request' }}
steps:
[...]https://stackoverflow.com/questions/67232614
复制相似问题