github/ci: Check if backport is opened against the expected branch

(copied from moby/moby 61269e718fbdbbad397b0089105ec910fc0e62ca)

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
(cherry picked from commit f92fcdef1b)
Signed-off-by: Austin Vazquez <macedonv@amazon.com>
This commit is contained in:
Paweł Gronowski 2024-04-19 14:01:04 +02:00 committed by Austin Vazquez
parent de7a473c43
commit 73b9f1c0fb
No known key found for this signature in database
GPG Key ID: 5F5F4008442CADB8
1 changed files with 16 additions and 0 deletions

View File

@ -44,3 +44,19 @@ jobs:
echo "This PR will be included in the release notes with the following note:" echo "This PR will be included in the release notes with the following note:"
echo "$desc" echo "$desc"
check-pr-branch:
runs-on: ubuntu-20.04
env:
PR_TITLE: ${{ github.event.pull_request.title }}
steps:
# Backports or PR that target a release branch directly should mention the target branch in the title, for example:
# [X.Y backport] Some change that needs backporting to X.Y
# [X.Y] Change directly targeting the X.Y branch
- name: Get branch from PR title
id: title_branch
run: echo "$PR_TITLE" | sed -n 's/^\[\([0-9]*\.[0-9]*\)[^]]*\].*/branch=\1/p' >> $GITHUB_OUTPUT
- name: Check release branch
if: github.event.pull_request.base.ref != steps.title_branch.outputs.branch && !(github.event.pull_request.base.ref == 'master' && steps.title_branch.outputs.branch == '')
run: echo "::error::PR title suggests targetting the ${{ steps.title_branch.outputs.branch }} branch, but is opened against ${{ github.event.pull_request.base.ref }}" && exit 1