Publish Test Results #4422
This file contains 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: Publish Test Results | |
on: | |
workflow_run: | |
workflows: ['CI'] | |
types: | |
- completed | |
permissions: | |
contents: read | |
checks: write | |
pull-requests: write | |
jobs: | |
publish-test-results: | |
name: Publish Test Results | |
runs-on: ubuntu-latest | |
if: github.event.workflow_run.conclusion != 'skipped' && github.event.workflow_run.event == 'pull_request' | |
steps: | |
- name: Download and Extract Artifacts | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
run: | | |
mkdir -p artifacts && cd artifacts | |
artifacts_url=${{ github.event.workflow_run.artifacts_url }} | |
gh api "$artifacts_url" -q '.artifacts[] | [.name, .archive_download_url] | @tsv' | while read artifact | |
do | |
IFS=$'\t' read name url <<< "$artifact" | |
gh api $url > "$name.zip" | |
unzip -d "$name" "$name.zip" | |
done | |
- name: Extract PR Number | |
run: | | |
eventjson=`cat 'artifacts/Event File/event.json'` | |
prnumber=`echo $(jq -r '.pull_request.number' <<< "$eventjson")` | |
echo "PR_NUMBER=$(echo $prnumber | tr -cd '[0-9]')" >> $GITHUB_ENV | |
- name: Publish Unit Test Results | |
uses: EnricoMi/publish-unit-test-result-action@v2 | |
with: | |
commit: ${{ github.event.workflow_run.head_sha }} | |
event_file: artifacts/Event File/event.json | |
event_name: ${{ github.event.workflow_run.event }} | |
files: 'artifacts/Unit Test Results/*.xml' | |
check_name: "Unit Test Results" | |
- name: Add Coverage PR Comment | |
uses: marocchino/sticky-pull-request-comment@v2 | |
with: | |
recreate: true | |
path: artifacts/Code Coverage Report/code-coverage-results.md | |
number: ${{ env.PR_NUMBER }} |