name: Automated tests - publish results on: workflow_run: workflows: - Automated tests types: - completed - requested env: isCompleted: ${{ github.event.workflow_run.status == 'completed' }} jobs: get-pr-data: runs-on: ubuntu-latest concurrency: group: github-api-request cancel-in-progress: false if: ${{ github.event.workflow_run.event == 'pull_request' }} outputs: pr-number: ${{ steps.pr.outputs.result }} workflow-id: ${{ github.event.workflow_run.id }} steps: - name: Find associated pull request id: pr uses: actions/github-script@v7 with: script: | const response = await github.rest.search.issuesAndPullRequests({ q: 'repo:${{ github.repository }} is:pr sha:${{ github.event.workflow_run.head_sha }}', per_page: 1, }) const items = response.data.items if (items.length < 1) { console.error('No PRs found') return } const pullRequestNumber = items[0].number return pullRequestNumber comment-pr: runs-on: ubuntu-latest permissions: pull-requests: write needs: get-pr-data steps: - name: Find Comment uses: peter-evans/find-comment@v3 id: fc with: issue-number: ${{ needs.get-pr-data.outputs.pr-number }} comment-author: "github-actions[bot]" body-includes: Automated tests Summary - name: Remove previous comment if: steps.fc.outputs.comment-id != '' uses: actions/github-script@v7 with: script: | github.rest.issues.deleteComment({ owner: context.repo.owner, repo: context.repo.repo, comment_id: ${{ steps.fc.outputs.comment-id }} }) - name: In progress tests comment if: ${{ !fromJson(env.isCompleted) }} uses: peter-evans/create-or-update-comment@v4 with: issue-number: ${{ needs.get-pr-data.outputs.pr-number }} body: |

Automated tests Summary

:hourglass_flowing_sand: Tests are running...

- name: Passing tests comment if: ${{ github.event.workflow_run.conclusion == 'success' }} uses: peter-evans/create-or-update-comment@v4 with: issue-number: ${{ needs.get-pr-data.outputs.pr-number }} body: |

Automated tests Summary

:white_check_mark: All the CI tests have passed!

- name: Failing tests comment if: ${{ github.event.workflow_run.conclusion != 'success' && fromJson(env.isCompleted) }} uses: peter-evans/create-or-update-comment@v4 with: issue-number: ${{ needs.get-pr-data.outputs.pr-number }} body: |

Automated tests Summary

:rotating_light: Test workflow has failed

___ [Click here](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ needs.get-pr-data.outputs.workflow-id }}) to check the action test reports