name: "PR review"
on:
  pull_request_target:
    types: [opened, reopened, synchronize, edited, edited]

jobs:
  labeler:
    name: review
    permissions:
      contents: read
      pull-requests: write
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
      with:
        submodules: false

    # Label PRs
    - uses: actions/labeler@v5.0.0
      with:
        dot: true
        configuration-path: .github/labeler.yaml

    # Check PR target branch
    - name: check branch
      uses: Vankka/pr-target-branch-action@def32ec9d93514138d6ac0132ee62e120a72aed5
      if: github.repository == 'commaai/openpilot'
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      with:
        target: /^(?!master$).*/
        exclude: /commaai:.*/
        change-to: ${{ github.base_ref }}
        already-exists-action: close_this
        already-exists-comment: "Your PR should be made against the `master` branch"

    # Welcome comment
    - name: comment
      uses: thollander/actions-comment-pull-request@fabd468d3a1a0b97feee5f6b9e499eab0dd903f6
      if: github.event.pull_request.head.repo.full_name != 'commaai/openpilot'
      with:
        message: |
            <!-- _(run_id **${{ github.run_id }}**)_ -->
            Thanks for contributing to openpilot! In order for us to review your PR as quickly as possible, check the following:
            * Convert your PR to a draft unless it's ready to review
            * Read the [contributing docs](https://github.com/commaai/openpilot/blob/master/docs/CONTRIBUTING.md)
            * Before marking as "ready for review", ensure:
              * the goal is clearly stated in the description
              * all the tests are passing
              * the change is [something we merge](https://github.com/commaai/openpilot/blob/master/docs/CONTRIBUTING.md#what-gets-merged)
              * include a route or your device' dongle ID if relevant
        comment_tag: run_id
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
