Python - Test Coverage Report #4924
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Python - Test Coverage Report | |
| on: | |
| workflow_run: | |
| workflows: ["Python - Test Coverage"] | |
| types: | |
| - completed | |
| permissions: | |
| contents: read | |
| pull-requests: write | |
| jobs: | |
| python-test-coverage-report: | |
| runs-on: ubuntu-latest | |
| if: github.event.workflow_run.conclusion == 'success' | |
| continue-on-error: false | |
| defaults: | |
| run: | |
| working-directory: python | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Download coverage report | |
| uses: actions/download-artifact@v8 | |
| with: | |
| github-token: ${{ secrets.GH_ACTIONS_PR_WRITE }} | |
| run-id: ${{ github.event.workflow_run.id }} | |
| path: ./python | |
| merge-multiple: true | |
| - name: Display structure of downloaded files | |
| run: ls | |
| - name: Read and set PR number | |
| # Need to read the PR number from the file saved in the previous workflow | |
| # because the workflow_run event does not have access to the PR number | |
| # The PR number is needed to post the comment on the PR | |
| run: | | |
| if [ ! -s pr_number ]; then | |
| echo "PR number file 'pr_number' is missing or empty" | |
| exit 1 | |
| fi | |
| PR_NUMBER=$(head -1 pr_number | tr -dc '0-9') | |
| if [ -z "$PR_NUMBER" ]; then | |
| echo "PR number file 'pr_number' does not contain a valid PR number" | |
| exit 1 | |
| fi | |
| echo "PR_NUMBER=$PR_NUMBER" >> "$GITHUB_ENV" | |
| - name: Pytest coverage comment | |
| id: coverageComment | |
| uses: MishaKav/pytest-coverage-comment@v1.6.0 | |
| with: | |
| github-token: ${{ secrets.GH_ACTIONS_PR_WRITE }} | |
| issue-number: ${{ env.PR_NUMBER }} | |
| pytest-xml-coverage-path: python/python-coverage.xml | |
| title: "Python Test Coverage Report" | |
| badge-title: "Python Test Coverage" | |
| junitxml-title: "Python Unit Test Overview" | |
| junitxml-path: python/pytest.xml | |
| default-branch: "main" | |
| report-only-changed-files: true |