name: Check Icon PR
on: pull_request
jobs:
  check:
    name: Check the `devicon.json` and the SVGs' quality
    runs-on: ubuntu-latest
    if: startsWith(github.event.pull_request.title, 'new icon') || startsWith(github.event.pull_request.title, 'update icon')  # only checks icon PR
    steps:
      - uses: actions/checkout@v4

      - name: Check if PR is develop
        if: ${{ github.base_ref != 'develop' }}
        run: |
          echo -e "The PR's base branch is \`${{ github.base_ref }}\`, but should be \`develop\`\nPlease change the PR so that it's based on, and merged into \`develop\`" > ./err_messages.txt
          echo "wrong_branch=true" >> $GITHUB_ENV

      - uses: actions/setup-python@v5
        if: ${{ !env.wrong_branch }}
        with:
          python-version: 3.8

      - name: Install dependencies
        if: ${{ !env.wrong_branch }}
        run: |
          python -m pip install --upgrade pip
          pip install -r ./.github/scripts/requirements.txt

      - name: Run the check_svg script
        if: ${{ !env.wrong_branch }}
        env:
          PR_TITLE: ${{ github.event.pull_request.title }}
        run: python ./.github/scripts/check_icon_pr.py "$PR_TITLE" ./icons ./devicon.json

      - name: Upload the err messages
        uses: actions/upload-artifact@v4
        if: success()
        with:
          name: err_messages
          path: ./err_messages.txt

      - name: Save the pr num in an artifact
        shell: bash
        if: success()
        env:
          PR_NUM: ${{ github.event.number }}
        run: echo $PR_NUM > pr_num.txt

      - name: Upload the pr num
        uses: actions/upload-artifact@v4
        if: success()
        with:
          name: pr_num
          path: ./pr_num.txt
