From dbba713d147e68fd9b8a32a9aa240f02ad68175d Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Mon, 24 Feb 2025 09:12:55 +0100 Subject: [PATCH] chore: Automated request for reviews of pull request Ensure that every PR we receive gets the correct reviewers assigned. Signed-off-by: Ferdinand Thiessen --- .github/workflows/request-reviews.yml | 75 +++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 .github/workflows/request-reviews.yml diff --git a/.github/workflows/request-reviews.yml b/.github/workflows/request-reviews.yml new file mode 100644 index 0000000000000..cf259c96aab8c --- /dev/null +++ b/.github/workflows/request-reviews.yml @@ -0,0 +1,75 @@ +# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors +# SPDX-License-Identifier: MIT + +name: Assign reviews + +on: + pull_request: + types: [opened, reopened, ready_for_review] + +jobs: + changes: + runs-on: ubuntu-latest-low + + outputs: + backend: ${{ steps.changes.outputs.backend }} + frontend: ${{ steps.changes.outputs.frontend }} + + steps: + - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2 + id: changes + continue-on-error: true + with: + filters: | + backend: + - '3rdparty/**' + - '**/appinfo/**' + - '**/lib/**' + - '**/templates/**' + - '.php-cs-fixer.dist.php' + - 'composer.json' + - 'psalm*' + - 'build/psalm*' + - '**.php' + frontend: + - 'apps/*/src/**' + - 'core/src/**' + - 'tsconfig.json' + - '**.js' + - '**.ts' + - '**.vue' + + assign-reviews: + name: Assign reviews + runs-on: ubuntu-latest-low + + needs: changes + # Only if there are not already reviews requested + if: github.event.pull_request.requested_reviewers[1] == null + + permissions: + pull-requests: write + + steps: + - name: Assign backend engineers + if: needs.changes.outputs.backend == 'true' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh api \ + --method POST \ + -H "Accept: application/vnd.github+json" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + '/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/requested_reviewers' \ + -f "team_reviewers[]=nextcloud/server-backend" + - name: Assign frontend engineers + if: needs.changes.outputs.frontend == 'true' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh api \ + --method POST \ + -H "Accept: application/vnd.github+json" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + '/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/requested_reviewers' \ + -f "team_reviewers[]=nextcloud/server-frontend"