db620d33df
CodeQL / Analyze (csharp) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
dotnet-build-and-test / dotnet-test-functions (push) Has been cancelled
dotnet-build-and-test / paths-filter (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Debug, windows-latest, net9.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net10.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net8.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, windows-latest, net472) (push) Has been cancelled
dotnet-build-and-test / dotnet-test (Release, integration, true, ubuntu-latest, net10.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-test (Release, integration, true, windows-latest, net472) (push) Has been cancelled
dotnet-build-and-test / dotnet-foundry-hosted-it (push) Has been cancelled
dotnet-build-and-test / dotnet-build-and-test-check (push) Has been cancelled
dotnet-build-and-test / Integration Test Report (push) Has been cancelled
71 lines
2.4 KiB
YAML
71 lines
2.4 KiB
YAML
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 validate PR number
|
|
# Keep the artifact handoff aligned with the workflow run that produced it.
|
|
env:
|
|
GH_TOKEN: ${{ github.token }}
|
|
REPO: ${{ github.repository }}
|
|
RUN_HEAD_SHA: ${{ github.event.workflow_run.head_sha }}
|
|
run: |
|
|
if [ ! -s pr_number ]; then
|
|
echo "PR number file 'pr_number' is missing or empty"
|
|
exit 1
|
|
fi
|
|
|
|
ARTIFACT_PR_NUMBER=$(cat pr_number)
|
|
if ! [[ "$ARTIFACT_PR_NUMBER" =~ ^[0-9]+$ ]]; then
|
|
echo "::error::PR number file contains invalid content"
|
|
exit 1
|
|
fi
|
|
|
|
PR_HEAD_SHA=$(gh pr view "$ARTIFACT_PR_NUMBER" --repo "$REPO" --json headRefOid --jq '.headRefOid')
|
|
if [ "$PR_HEAD_SHA" != "$RUN_HEAD_SHA" ]; then
|
|
echo "::error::PR head SHA does not match the triggering workflow run"
|
|
exit 1
|
|
fi
|
|
|
|
echo "PR_NUMBER=$ARTIFACT_PR_NUMBER" >> "$GITHUB_ENV"
|
|
- name: Pytest coverage comment
|
|
id: coverageComment
|
|
uses: MishaKav/pytest-coverage-comment@dd5b80bde6d16941f336518e92929e89069d8451 # v1.7.2
|
|
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
|