A Github Action to prevent merging pull requests containing merge commits.
If any commit in the pull request is a merge commit, the check status will be set to error
.
⚠️ GitHub's API only returns the first 250 commits of a PR so if you're working on a really large PR your merge commits might not be detected.
on: pull_request
name: Pull Requests
jobs:
message-check:
name: Block Merge Commits
runs-on: ubuntu-latest
steps:
- name: Block Merge Commits
uses: Morishiri/block-merge-commits-action@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
You'll also need to add a required status check rule for your action to block merging if it detects merge commits.
If your repository is using control permissions you'll need to set pull-request: read
on either the workflow or the job.
on: pull_request
name: Pull Request
permissions:
pull-requests: read
jobs:
message-check:
name: Block Merge Commits
runs-on: ubuntu-latest
steps:
- name: Block Merge Commits
uses: Morishiri/block-merge-commits-action@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
on: pull_request
name: Pull Request
jobs:
message-check:
name: Block Merge Commits
runs-on: ubuntu-latest
permissions:
pull-requests: read
steps:
- name: Block Merge Commits
uses: Morishiri/block-merge-commits-action@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}