aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/remove-merge-needed-label.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/remove-merge-needed-label.yml')
-rw-r--r--.github/workflows/remove-merge-needed-label.yml32
1 files changed, 32 insertions, 0 deletions
diff --git a/.github/workflows/remove-merge-needed-label.yml b/.github/workflows/remove-merge-needed-label.yml
new file mode 100644
index 00000000..0ff57523
--- /dev/null
+++ b/.github/workflows/remove-merge-needed-label.yml
@@ -0,0 +1,32 @@
+name: Remove merge label
+
+on:
+ - pull_request_target
+
+
+permissions:
+ contents: read
+ pull-requests: write
+
+jobs:
+ check-mergability:
+ env:
+ GH_TOKEN:
+ ${{ secrets.GITHUB_TOKEN }}
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ - run: |
+ echo This is the merginator 2000 speaking, i am now checking your mergability
+ if git merge-tree "$(git merge-base ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }})" ${{ github.event.pull_request.head.sha }} "${{ github.event.pull_request.base.sha }}" | grep "^<<<<<<<\|changed in both" >/dev/null; then
+ echo "This PR is deemed: dirty :("
+ echo "{\"labels\":[\"$MERGE_LABEL\"]}"|gh api -X POST --input - "$ISSUE_PATH" || true
+ else
+ echo This PR is deemed: clean!
+ gh api -X DELETE $ISSUE_PATH/$MERGE_LABEL || true
+ fi
+ env:
+ MERGE_LABEL: needs-merge
+ ISSUE_PATH: /repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/labels