Skip to content

Workflow file for this run

name: qbic-pipeline/querynator branch protection
# This workflow is triggered on PRs to master branch on the repository
# It fails when someone tries to make a PR against the qbic-pipelines `master` branch instead of `dev`
on:
pull_request_target:
branches: [master]
jobs:
test:
runs-on: ubuntu-latest
steps:
# PRs to the repo's master branch are only ok if coming from the qbic-pipelines repo `dev` or any `patch` branches
- name: Check PRs
if: github.repository == 'qbic-pipelines/querynator'
run: |
{ [[ ${{github.event.pull_request.head.repo.full_name}} == qbic-pipelines/querynator ]] && [[ $GITHUB_HEAD_REF = "dev" ]]; } || [[ $GITHUB_HEAD_REF == "patch" ]]
# If the above check failed, post a comment on the PR explaining the failure
- name: Post PR comment
if: failure()
uses: mshick/add-pr-comment@v1
with:
message: |
## This PR is against the `master` branch :x:
* Do not close this PR
* Click _Edit_ and change the `base` to `dev`
* This CI test will remain failed until you push a new commit
---
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 }}](https://github.com/${{github.event.pull_request.head.repo.full_name }}) `master` branch.
The `master` branch on qbic-pipelines repositories should always contain code from the latest release.
Because of this, PRs to `master` are only allowed if they come from the [${{github.event.pull_request.head.repo.full_name }}](https://github.com/${{github.event.pull_request.head.repo.full_name }}) `dev` branch.
You do not need to close this PR, you can change the target branch to `dev` by clicking the _"Edit"_ button at the top of this page.
Note that even after this, the test will continue to show as failing until you push a new commit.
Thanks again for your contribution!
repo-token: ${{ secrets.GITHUB_TOKEN }}
allow-repeats: false