
# This workflow automatically adds the appropriate reviewers to a pull request.
#
# The workflow directly reuses logic in the BaseTools/Scripts/GetMaintainer.py script
# to determine the appropriate reviewers, so it matches what a user would see running
# the script locally.
#
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: BSD-2-Clause-Patent

name: Add Pull Request Reviewers

on:
  pull_request_target:
    branches:
      - master
    types: [opened, ready_for_review, reopened, synchronize]

env:
  GET_MAINTAINER_REL_PATH: "BaseTools/Scripts/GetMaintainer.py"

jobs:
  auto-request-review:
    name: Add Pull Request Reviewers
    # Do not run on draft PRs and only run on PRs in the tianocore organization
    if: ${{ github.event.pull_request.draft == false && github.repository_owner == 'tianocore' }}
    runs-on: ubuntu-latest

    permissions:
      contents: read
      issues: write
      pull-requests: write

    steps:
      - name: Generate Token
        id: generate-token
        uses: actions/create-github-app-token@v2
        with:
          app-id: ${{ secrets.TIANOCORE_ASSIGN_REVIEWERS_APPLICATION_ID }}
          private-key: ${{ secrets.TIANOCORE_ASSIGN_REVIEWERS_APPLICATION_PRIVATE_KEY }}

      # Reduce checkout time with sparse-checkout
      #   - .github: Contains the scripts to interact with Github and add reviewers
      #   - BaseTools/Scripts: Contains the GetMaintainer.py script
      #   - Maintainers.txt: Contains the list of maintainers for the repository
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 1
          sparse-checkout: |
            .github
            BaseTools/Scripts
            Maintainers.txt

      - name: Setup Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.x'
          cache: 'pip'
          cache-dependency-path: '.github/scripts/requirements.txt'

      - name: Install PIP Modules
        run: pip install -r .github/scripts/requirements.txt --upgrade

      - name: Add Reviewers to Pull Request
        env:
          GH_TOKEN: ${{ steps.generate-token.outputs.token }}
          ORG_NAME: ${{ github.repository_owner }}
          PR_NUMBER: ${{ github.event.number}}
          REPO_NAME: ${{ github.event.pull_request.base.repo.name }}
          TARGET_BRANCH: ${{ github.event.pull_request.base.ref }}
          WORKSPACE_PATH: ${{ github.workspace }}
        run: python .github/scripts/RequestPrReviewers.py
