---
# Copyright (C) 2023 Maxwell G <maxwell@gtmx.me>
# SPDX-License-Identifier: GPL-3.0-or-later

"on":
  pull_request_target:
  issues:
    types:
      - opened
  workflow_dispatch:
    inputs:
      type:
        required: true
        type: choice
        options:
          - issue
          - pr
      number:
        required: true
        type: number

name: "Triage Issues and PRs"

permissions:
  issues: write
  pull-requests: write

jobs:
  label_prs:
    runs-on: ubuntu-latest
    name: "Label Issue/PR"
    steps:
      - name: Print event information
        env:
          event_json: "${{ toJSON(github.event) }}"
        run: |
          echo "${event_json}"
      - name: Checkout parent repository
        uses: actions/checkout@v3
      - name: Install Python 3.11
        uses: actions/setup-python@v4
        with:
          python-version: "3.11"
      - name: Setup venv
        run: |
          python -m venv venv
          ./venv/bin/pip install -r hacking/pr_labeler/requirements.txt
      - name: "Run the issue labeler"
        if: "github.event.issue || inputs.type == 'issue'"
        env:
          event_json: "${{ toJSON(github.event) }}"
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run:
          ./venv/bin/python hacking/pr_labeler/label.py issue ${{ github.event.issue.number || inputs.number }}
      - name: "Run the PR labeler"
        if: "github.event.pull_request || inputs.type == 'pr'"
        env:
          event_json: "${{ toJSON(github.event) }}"
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run:
          ./venv/bin/python hacking/pr_labeler/label.py pr ${{ github.event.number || inputs.number }}
