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 Jan 11, 2024
1 parent 6b45462 commit 666b808
Show file tree
Hide file tree
Showing 2 changed files with 37 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}" ]]
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).


## [3.12.2] - 2024-01-11

### Changed
- Add force rebase workflow

## [3.12.1] - 2024-01-11

### Changed
Expand Down

0 comments on commit 666b808

Please sign in to comment.