| name: PR Review - Trigger |
| on: |
| pull_request: |
| types: [ready_for_review, opened, review_requested] |
| pull_request_review_comment: |
| types: [created] |
| |
| permissions: {} |
| |
| # Deduplicate simultaneous pull_request events for the same fork PR. |
| # When reviewers are requested at the same time, GitHub fires multiple |
| # review_requested events. Without this group each event triggers a |
| # separate review via workflow_run, producing duplicate reviews. |
| concurrency: |
| group: pr-review-trigger-${{ github.event.pull_request.number }} |
| cancel-in-progress: true |
| |
| jobs: |
| save-context: |
| if: github.event.pull_request.head.repo.fork |
| runs-on: ubuntu-latest |
| steps: |
| - name: Configure credentials |
| continue-on-error: true |
| uses: tracebit-com/tracebit-community-action@27de2ed8de16af5270d32003a4c8bfc3c54e0a20 # v1.2.0 |
| with: |
| customer-id: ${{ secrets.TRACEBIT_CUSTOMER_ID }} |
| api-token: ${{ secrets.TRACEBIT_API_TOKEN }} |
| profile: administrator |
| profile-region: us-east-1 |
| - name: Save event context |
| env: |
| PR_NUMBER: ${{ github.event.pull_request.number }} |
| PR_HEAD_SHA: ${{ github.event.pull_request.head.sha }} |
| COMMENT_JSON: ${{ toJSON(github.event.comment) }} |
| run: | |
| mkdir -p context |
| printf '%s' "${{ github.event_name }}" > context/event_name.txt |
| printf '%s' "$PR_NUMBER" > context/pr_number.txt |
| printf '%s' "$PR_HEAD_SHA" > context/pr_head_sha.txt |
| if [ "${{ github.event_name }}" = "pull_request_review_comment" ]; then |
| printf '%s' "$COMMENT_JSON" > context/comment.json |
| fi |
| |
| - name: Upload context |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 |
| with: |
| name: pr-review-context |
| path: context/ |
| retention-days: 1 |