# Copyright Broadcom, Inc. All Rights Reserved.
# SPDX-License-Identifier: APACHE-2.0

# This is a hack to run reusable workflows in the main repo context and not from the forked repository.
# We this hack we can use secrets configured in the organization.
# NOTE: This workflow is maintained in the https://github.com/bitnami/support repository
name: '[Support] PR review comment trigger'
on:
  workflow_run:
    workflows:
      - '\[Support\] PR review comment card movements'
    types:
      - completed
permissions: {}
jobs:
  pr-info:
    runs-on: ubuntu-latest
    permissions:
      pull-requests: read
      actions: read
    outputs:
      author: ${{ steps.get-info.outputs.author }}
      actor: ${{ steps.get-info.outputs.actor }}
      review_state: ${{ steps.get-info.outputs.review_state }}
      labels: ${{ steps.get-info.outputs.labels }}
      resource_url: ${{ steps.get-info.outputs.resource_url }}
    if: ${{ github.repository_owner == 'bitnami' && github.event.workflow_run.conclusion == 'success' }}
    steps:
      - id: get-info
        env:
          GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
        run: |
          actor="${{ github.event.workflow_run.actor.login }}"
          download_url="$(gh api "${{ github.event.workflow_run.artifacts_url }}" | jq -cr '.artifacts[] | select(.name == "pull_request_info.json") | .archive_download_url')"
          curl -sSL -o pull_request_info.zip -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" -H "Authorization: Bearer $GITHUB_TOKEN" $download_url
          unzip pull_request_info.zip
          pull_request_number="$(jq -cr '.issue.number' pull_request_info.json)"
          issue_review_state="$(jq -cr '.review.state' pull_request_info.json)"
          pull_request="$(gh api "repos/${GITHUB_REPOSITORY}/pulls/${pull_request_number}")"
          author="$(echo $pull_request | jq -cr '.user.login')"
          author_association="$(echo $pull_request | jq -cr '.author_association')"
          labels="$(echo $pull_request | jq -cr '[.labels[].name]')"
          resource_url="$(echo $pull_request | jq -cr '.html_url')"

          echo "::notice:: Managing PR #${pull_request_number}"
          echo "actor=${actor}" >> $GITHUB_OUTPUT
          echo "author=${author}" >> $GITHUB_OUTPUT
          echo "author_association=${author_association}" >> $GITHUB_OUTPUT
          echo "review_state=${issue_review_state}" >> $GITHUB_OUTPUT
          echo "labels=${labels}" >> $GITHUB_OUTPUT
          echo "resource_url=${resource_url}" >> $GITHUB_OUTPUT
  call-pr-review-comment:
    uses: bitnami/support/.github/workflows/pr-review-comment.yml@main
    needs: pr-info
    permissions:
      contents: read
    secrets: inherit
    with:
      author: ${{ needs.pr-info.outputs.author }}
      actor: ${{ needs.pr-info.outputs.actor }}
      labels: ${{ needs.pr-info.outputs.labels }}
      review_state: ${{ needs.pr-info.outputs.review_state }}
      resource_url: ${{ needs.pr-info.outputs.resource_url }}
