Skip to content

Commit

Permalink
CI: Add workflow to enforce rebase before merge
Browse files Browse the repository at this point in the history
  • Loading branch information
Xavier Chapron committed Dec 21, 2023
1 parent 86e20d8 commit 1e43375
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions .github/workflows/force-rebase.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Force rebased

on: [pull_request]

jobs:
force-rebase:
runs-on: ubuntu-latest
steps:

- name: 'PR commits + 1'
id: pr_commits
run: echo "pr_fetch_depth=$(( ${{ github.event.pull_request.commits }} + 1 ))" >> "${GITHUB_OUTPUT}"

- name: 'Checkout PR branch and all PR commits'
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: ${{ steps.pr_commits.outputs.pr_fetch_depth }}

- name: Check if PR branch is rebased on target branch
shell: bash
run: |
git merge-base --is-ancestor ${{ github.event.pull_request.base.sha }} HEAD
- name: Check if PR branch contains merge commits
shell: bash
run: |
merges=$(git log --oneline HEAD~${{ github.event.pull_request.commits }}...HEAD --merges ); \
echo "--- Merges ---"; \
echo ${merges}; \
[[ -z "${merges}" ]]

0 comments on commit 1e43375

Please sign in to comment.