From f3b51997dbfe145034677a401961a01e900e8e2e Mon Sep 17 00:00:00 2001 From: Alexandre <44178713+alexbelgium@users.noreply.github.com> Date: Mon, 17 Jun 2024 12:46:47 +0200 Subject: [PATCH] Update onpr_automerge.yaml --- .github/workflows/onpr_automerge.yaml | 62 +++++++++++++-------------- 1 file changed, 29 insertions(+), 33 deletions(-) diff --git a/.github/workflows/onpr_automerge.yaml b/.github/workflows/onpr_automerge.yaml index 4cd483669..bbfc24bf4 100644 --- a/.github/workflows/onpr_automerge.yaml +++ b/.github/workflows/onpr_automerge.yaml @@ -1,43 +1,39 @@ # yamllint disable rule:line-length # shellcheck disable=SC2043 --- -name: automerge +name: Automerge PRs + on: - pull_request_review: - types: - - submitted issue_comment: - types: created - check_suite: types: - - completed - status: {} + - created + jobs: - labeler: - runs-on: ubuntu-latest - steps: - - name: Add the automerge label - if: ${{ github.event.issue.pull_request && contains(github.event.comment.body, '/automerge') }} - uses: actions/github-script@v4 - with: - github-token: ${{secrets.GITHUB_TOKEN}} - script: | - github.issues.addLabels({ - issue_number: context.issue.number, - owner: context.repo.owner, - repo: context.repo.repo, - labels: ['automerge'] - }) automerge: runs-on: ubuntu-latest - needs: [labeler] steps: - - id: automerge - if: ${{ github.event.issue.pull_request }} - name: automerge - uses: "pascalgn/automerge-action@v0.16.2" - env: - GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" - Build: - needs: automerge - uses: ./.github/workflows/onpush_builder.yaml + - name: Check if comment contains "/automerge" + id: check_comment + uses: actions/github-script@v5 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const comment = context.payload.comment.body; + return { automerge: comment.includes('/automerge') }; + + - name: Merge PR + if: steps.check_comment.outputs.automerge + uses: actions/github-script@v5 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const prNumber = context.payload.issue.number; + const owner = context.repo.owner; + const repo = context.repo.repo; + await github.pulls.merge({ + owner, + repo, + pull_number: prNumber, + merge_method: 'merge' + }); + console.log(`PR #${prNumber} merged successfully.`);