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@v7 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.2.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