禁用 Github 操作工作流程,仅在需要时 运行

Disable Github Action workflow, only run when desired

我有一些非常昂贵的 benchmarks/tests,我只想 运行 用于某些 PR,而不是全部。有没有办法通过 github 操作来做到这一点?

是的,有几种方法。 大多数工作流触发器可以通过“Activity 类型”进一步指定。 对于拉取请求,它们是:

  • assigned
  • unassigned
  • labeled
  • unlabeled
  • opened
  • edited
  • closed
  • reopened
  • synchronize
  • ready_for_review
  • locked
  • unlocked
  • review_requested
  • review_request_removed

(Docs as Source)

现在,您可以 运行 仅针对匹配特定 pattern:

的 PR 的工作流
on:
  pull_request:
    branches:
      - 'benchmark/**'

你也可以用 :

on:
  pull_request: labeled
...
jobs:
  check-label:
    if: ${{ github.event.label.name == 'benchmark' }}
...

当然你也可以只使用manual triggers:

on: workflow_dispatch