diff --git a/.github/workflows/auto-merge-develop-pr.yml b/.github/workflows/auto-merge-develop-pr.yml index daec7f9..245655a 100644 --- a/.github/workflows/auto-merge-develop-pr.yml +++ b/.github/workflows/auto-merge-develop-pr.yml @@ -1,23 +1,33 @@ -name: Auto Merge PR from Develop to Main +name: Close Linked Issues if Checklist Complete on: pull_request: - branches: - - main - types: [opened, synchronize, reopened] + types: [closed] permissions: - contents: write - pull-requests: write + issues: write + pull-requests: read + contents: read jobs: - auto-merge: - if: github.event.pull_request.head.ref == 'develop' + close-linked-issues: + if: github.event.pull_request.merged == true runs-on: ubuntu-latest + steps: - - name: Enable auto-merge - uses: peter-evans/enable-pull-request-automerge@v3 + - name: Check if checklist is fully complete + id: checklist + run: | + BODY="${{ github.event.pull_request.body }}" + UNCHECKED=$(echo "$BODY" | grep -c '\[ \]') + if [ "$UNCHECKED" -eq 0 ]; then + echo "checklist-complete=true" >> $GITHUB_OUTPUT + else + echo "checklist-complete=false" >> $GITHUB_OUTPUT + fi + + - name: Close linked issues if checklist is complete + if: steps.checklist.outputs.checklist-complete == 'true' + uses: peter-evans/close-issue@v3 with: token: ${{ secrets.GITHUB_TOKEN }} - merge-method: merge - pull-request-number: ${{ github.event.pull_request.number }}