Search code examples
githubgithub-actionspull-request

github actions exclude pull requests from a branch


Say I have a workflow that runs on every PR to master which starts with:

on:
  pull_request:
    branches:
      - master

I'd like to skip all jobs if the PR is coming from the depbot branch. Something like:

on:
  pull_request:
    branches:
      - master
    head_ref-ignore:
      - depbot

I think you can skip all the steps (one at a time) using

 if: startsWith(github.head_ref, 'depbot') == false

But it is not what I want, as it would still initiate the job. How can I achieve that at the launch level?


Solution

  • But it is not what I want, as it would still initiate the job.

    That means you would need a "gatekeeper" job which would be initiated (and check github.head_ref), and, through job dependency, would call the second one only if the right condition is fulfilled.

    But the point is: you need at least one job to start, in order to check a condition.