diff --git a/.github/workflows/check-merge.yml b/.github/workflows/check-merge.yml new file mode 100644 index 00000000..4e69a55d --- /dev/null +++ b/.github/workflows/check-merge.yml @@ -0,0 +1,33 @@ +name: check-pr-merge +on: + pull_request: + types: + - opened + - synchronize + - reopened + branches: + - master + - "release/*" +jobs: + check-merge: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Check if branch is up to date + env: + BASE_REF: ${{ github.base_ref }} + run: | + baseRef="origin/${BASE_REF}" + echo "Targeting '$baseRef'" + + git fetch origin + + res=$(git --no-pager log HEAD..$baseRef --oneline) + if [[ -z "$res" ]]; then + echo "Branch is up to date with master" + else + echo "Branch is not up to date with master" + echo "Please rebase your branch" + exit 1 + fi