diff --git a/.github/workflows/assets/check_prs_if_on_staging.png b/.github/workflows/assets/check_prs_if_on_staging.png new file mode 100644 index 00000000..2e0fc7ff Binary files /dev/null and b/.github/workflows/assets/check_prs_if_on_staging.png differ diff --git a/.github/workflows/check_prs_if_on_staging.yml b/.github/workflows/check_prs_if_on_staging.yml new file mode 100644 index 00000000..cb49ffbc --- /dev/null +++ b/.github/workflows/check_prs_if_on_staging.yml @@ -0,0 +1,33 @@ +name: Check PRs if on staging +on: + pull_request_target: + types: [opened, edited] +permissions: {} + +jobs: + is_not_staging: + runs-on: ubuntu-latest + if: github.event.pull_request.base.ref != 'staging' #check if the target branch is not staging + steps: + - name: Send message + uses: thollander/actions-comment-pull-request@main + with: + GITHUB_TOKEN: ${{ secrets.CHECKIFPRISSTAGING_ACTION_PAT }} + message: | + Thanks for contributing! + + I noticed that you didn't select `staging` as your base branch. Please change the base branch to `staging`. + See the attached picture on how to change the base branch to `staging`: + + ![check_prs_if_on_staging.png](https://raw.githubusercontent.com/mailcow/mailcow-dockerized/master/.github/workflows/assets/check_prs_if_on_staging.png) + + - name: Fail #we want to see failed checks in the PR + if: ${{ success() }} #set exit code to 1 even if commenting somehow failed + run: exit 1 + + is_staging: + runs-on: ubuntu-latest + if: github.event.pull_request.base.ref == 'staging' #check if the target branch is staging + steps: + - name: Success + run: exit 0