From 102c1f94bc108d9e9a121582d648dd16a2e552e0 Mon Sep 17 00:00:00 2001 From: Evan Date: Thu, 25 Jul 2024 12:51:14 -0700 Subject: [PATCH 1/2] Create autoclose.yml --- .github/workflows/autoclose.yml | 61 +++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 .github/workflows/autoclose.yml diff --git a/.github/workflows/autoclose.yml b/.github/workflows/autoclose.yml new file mode 100644 index 0000000..025b80b --- /dev/null +++ b/.github/workflows/autoclose.yml @@ -0,0 +1,61 @@ +name: Auto-close External Pull Requests + +on: + pull_request_target: + types: [opened, reopened] + +jobs: + auto_close: + runs-on: ubuntu-latest + steps: + - name: Check if user is organization member + id: check-membership + uses: actions/github-script@v7 + with: + github-token: ${{ secrets.GH_AUTO_CLOSE_PR_TOKEN }} + script: | + const org = 'Appwrite'; + let isMember = 'non-member'; + try { + await github.rest.orgs.checkMembershipForUser({ + org: org, + username: context.payload.pull_request.user.login + }); + console.log('PR author is a core member. Keeping PR open.'); + isMember = 'member'; + } catch (error) { + console.log('PR author is not a core member.'); + } + return isMember; + result-encoding: string + + - name: Set member output + id: set-output + run: echo "result=${{ steps.check-membership.outputs.result }}" >> $GITHUB_ENV + + - name: Comment on PR + if: env.result == 'non-member' + uses: actions/github-script@v7 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + await github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: 'This library is auto-generated by the Appwrite [SDK Generator](https://github.com/appwrite/sdk-generator), and does not accept pull requests directly. To learn more about how you can help us improve this SDK, please check the [contributing guide](https://github.com/appwrite/sdk-generator/blob/master/CONTRIBUTING.md) before submitting a pull request.' + }); + console.log('Comment added to PR.'); + - name: Close PR + if: env.result == 'non-member' + uses: actions/github-script@v7 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + await github.rest.pulls.update({ + pull_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + state: 'closed' + }); + console.log('PR closed.'); From 080afc85bc314fc60df858146d7f6068043bf28f Mon Sep 17 00:00:00 2001 From: Evan Date: Mon, 29 Jul 2024 08:59:52 -0700 Subject: [PATCH 2/2] Update autoclose.yml --- .github/workflows/autoclose.yml | 56 ++------------------------------- 1 file changed, 3 insertions(+), 53 deletions(-) diff --git a/.github/workflows/autoclose.yml b/.github/workflows/autoclose.yml index 025b80b..3e2b3cb 100644 --- a/.github/workflows/autoclose.yml +++ b/.github/workflows/autoclose.yml @@ -6,56 +6,6 @@ on: jobs: auto_close: - runs-on: ubuntu-latest - steps: - - name: Check if user is organization member - id: check-membership - uses: actions/github-script@v7 - with: - github-token: ${{ secrets.GH_AUTO_CLOSE_PR_TOKEN }} - script: | - const org = 'Appwrite'; - let isMember = 'non-member'; - try { - await github.rest.orgs.checkMembershipForUser({ - org: org, - username: context.payload.pull_request.user.login - }); - console.log('PR author is a core member. Keeping PR open.'); - isMember = 'member'; - } catch (error) { - console.log('PR author is not a core member.'); - } - return isMember; - result-encoding: string - - - name: Set member output - id: set-output - run: echo "result=${{ steps.check-membership.outputs.result }}" >> $GITHUB_ENV - - - name: Comment on PR - if: env.result == 'non-member' - uses: actions/github-script@v7 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - script: | - await github.rest.issues.createComment({ - issue_number: context.issue.number, - owner: context.repo.owner, - repo: context.repo.repo, - body: 'This library is auto-generated by the Appwrite [SDK Generator](https://github.com/appwrite/sdk-generator), and does not accept pull requests directly. To learn more about how you can help us improve this SDK, please check the [contributing guide](https://github.com/appwrite/sdk-generator/blob/master/CONTRIBUTING.md) before submitting a pull request.' - }); - console.log('Comment added to PR.'); - - name: Close PR - if: env.result == 'non-member' - uses: actions/github-script@v7 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - script: | - await github.rest.pulls.update({ - pull_number: context.issue.number, - owner: context.repo.owner, - repo: context.repo.repo, - state: 'closed' - }); - console.log('PR closed.'); + uses: appwrite/.github/.github/workflows/autoclose.yml@main + secrets: + GH_AUTO_CLOSE_PR_TOKEN: ${{ secrets.GH_AUTO_CLOSE_PR_TOKEN }}