How to skip steps or jobs in GitHub Actions for PRs from forks
​Encrypted secrets in GitHub actions aren't available for builds from forks, so if your build script includes PRs, like Avatar:
1
on:
2
push:
3
branches: [ main, dev, 'feature/*', 'rel/*' ]
4
pull_request:
5
types: [opened, synchronize, reopened]
Copied!
You may need to limit steps or entire jobs from running when PRs are coming from forks due to missing secrets (i.e. pushing an output package to a CI nuget feed, say).
The "magic" thing is to use an if condition with the following expression:
1
push:
2
name: push nuget.ci
3
runs-on: ubuntu-latest
4
needs: [build, acceptance]
5
if: ${{ !github.event.pull_request.head.repo.fork }}
6
steps:
Copied!
Note that in the above case, an entire job is skipped, but you can also apply it to a step instead.
Copy link