name: Python - Test Coverage Report on: workflow_run: workflows: ["Python - Test Coverage"] types: - completed permissions: contents: read actions: 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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - name: Download coverage report uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8 with: github-token: ${{ github.token }} 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=$(cat pr_number) if ! [[ "$PR_NUMBER" =~ ^[0-9]+$ ]]; then echo "::error::PR number file contains invalid content" exit 1 fi echo "PR_NUMBER=$PR_NUMBER" >> "$GITHUB_ENV" - name: Pytest coverage comment id: coverageComment uses: MishaKav/pytest-coverage-comment@26f986d2599c288bb62f623d29c2da98609e9cd4 # v1.6.0 with: github-token: ${{ github.token }} 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