name: Comment on PR

on:
  workflow_run:
    workflows: ["PR status checks"]
    types: 
      - completed

jobs:
  comment:
    runs-on: ubuntu-latest
    if: >
      ${{ github.event.workflow_run.event == 'pull_request' && 
          github.event.workflow_run.conclusion == 'success'
       }}
    steps:
      - name: Download Artifact
        uses: actions/github-script@v3
        with:
          script: |
            let artifacts = await github.actions.listWorkflowRunArtifacts({
                owner: context.repo.owner,
                repo: context.repo.repo,
                run_id: ${{ github.event.workflow_run.id }},
            });
            let artifact = artifacts.data.artifacts.filter(artifact => {
              return artifact.name == "pr"
            })[0];
            let download = await github.actions.downloadArtifact({
                owner: context.repo.owner,
                repo: context.repo.repo,
                artifact_id: artifact.id,
                archive_format: 'zip',
            });
            let fs = require('fs');
            fs.writeFileSync('${{ github.workspace }}/pr.zip', Buffer.from(download.data));
      - run: unzip pr.zip
      - name: Comment on PR
        uses: actions/github-script@v3
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          script: |
            let fs = require('fs');
            let prNumber = Number(fs.readFileSync("./number"));
            let statusCheck = fs.readFileSync("./status-check-output");
            await github.issues.createComment({
              owner: context.repo.owner,
              repo: context.repo.repo,
              issue_number: prNumber,
              body: '```' + statusCheck + '```',
            });