This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: PR to main branch from patch/release branch only | |
on: | |
pull_request: | |
branches: | |
- main | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
# PRs to the repository main branch are only ok if coming from any patch or release branch | |
- name: Check PRs | |
run: | | |
{ [[ $GITHUB_HEAD_REF = *"release"* ]]; } || [[ $GITHUB_HEAD_REF == *"patch"* ]] | |
# If the above check failed, post a comment on the PR explaining the failure | |
# NOTE - this may not work if the PR is coming from a fork, due to limitations in GitHub actions secrets | |
- name: Post PR comment | |
if: failure() | |
uses: mshick/add-pr-comment@v1 | |
with: | |
message: | | |
Hi @${{ github.event.pull_request.user.login }}, | |
It looks like this pull-request is has been made against the ${{github.event.pull_request.head.repo.full_name}} `main` branch. | |
The `main` branch should always contain code from the latest release. | |
Because of this, PRs to `main` are only allowed if they come from any ${{github.event.pull_request.head.repo.full_name}} `release` or `patch` branch. | |
You do not need to close this PR, you can change the target branch to `development` by clicking the _"Edit"_ button at the top of this page. | |
Thanks again for your contribution! | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
allow-repeats: false |