forked from pangaea-data-publisher/fuji
-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request pangaea-data-publisher#430 from afuetterer/test-re…
…sults ci: publish pytest results
- Loading branch information
Showing
4 changed files
with
100 additions
and
26 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -82,34 +82,31 @@ jobs: | |
run: | | ||
python -m pip install --upgrade pip setuptools wheel | ||
python -m pip install --upgrade hatch | ||
- name: Run test suite with coverage | ||
run: hatch run cov-ci | ||
|
||
- name: Upload coverage reports | ||
- name: Generate badges | ||
if: always() | ||
run: hatch run badges | ||
- name: Upload test results | ||
if: always() | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: coverage | ||
name: test-results | ||
retention-days: 1 | ||
path: | | ||
junit.xml | ||
pytest-coverage.txt | ||
path: pytest-junit.xml | ||
- name: Upload coverage results | ||
if: always() | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: coverage-results | ||
retention-days: 1 | ||
path: pytest-cobertura.xml | ||
|
||
coverage: | ||
event_file: | ||
runs-on: ubuntu-22.04 | ||
needs: tests | ||
permissions: | ||
contents: read | ||
pull-requests: write | ||
steps: | ||
- name: Download coverage reports | ||
uses: actions/download-artifact@v3 | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
name: coverage | ||
# Ref: https://github.com/MishaKav/pytest-coverage-comment | ||
- name: Add coverage comment | ||
uses: MishaKav/[email protected] | ||
with: | ||
title: Coverage | ||
pytest-coverage-path: pytest-coverage.txt | ||
junitxml-path: junit.xml | ||
name: event-file | ||
retention-days: 1 | ||
path: ${{ github.event_path }} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
name: Reports | ||
|
||
on: | ||
workflow_run: | ||
workflows: [CI] | ||
types: | ||
- completed | ||
permissions: {} | ||
|
||
jobs: | ||
# Ref: https://github.com/EnricoMi/publish-unit-test-result-action#support-fork-repositories-and-dependabot-branches | ||
test-results: | ||
runs-on: ubuntu-22.04 | ||
if: github.event.workflow_run.conclusion != 'skipped' | ||
permissions: | ||
checks: write | ||
# required to create pull request comments | ||
pull-requests: write | ||
# required by download step to access artifacts API | ||
actions: read | ||
steps: | ||
- name: Download and Extract Artifacts | ||
uses: dawidd6/action-download-artifact@268677152d06ba59fcec7a7f0b5d961b6ccd7e1e # v2.28.0 | ||
with: | ||
run_id: ${{ github.event.workflow_run.id }} | ||
path: artifacts | ||
- name: Publish Test Results | ||
uses: EnricoMi/publish-unit-test-result-action@d93dbc08d265e4653da0c0af544bee2a851d3e38 # v2.10.0 | ||
with: | ||
comment_title: ':clipboard: Pytest Results' | ||
commit: ${{ github.event.workflow_run.head_sha }} | ||
event_file: artifacts/event-file/event.json | ||
event_name: ${{ github.event.workflow_run.event }} | ||
files: artifacts/test-results/pytest-junit.xml | ||
|
||
coverage-results: | ||
runs-on: ubuntu-22.04 | ||
if: github.event.workflow_run.conclusion != 'skipped' | ||
permissions: | ||
# required to create pull request comments | ||
pull-requests: write | ||
# required by download step to access artifacts API | ||
actions: read | ||
steps: | ||
- name: Download and Extract Artifacts | ||
uses: dawidd6/action-download-artifact@268677152d06ba59fcec7a7f0b5d961b6ccd7e1e # v2.28.0 | ||
with: | ||
run_id: ${{ github.event.workflow_run.id }} | ||
path: artifacts | ||
# Ref: https://github.com/irongut/CodeCoverageSummary#usage | ||
- name: Generate Code Coverage Report | ||
uses: irongut/CodeCoverageSummary@51cc3a756ddcd398d447c044c02cb6aa83fdae95 # v1.3.0 | ||
with: | ||
filename: artifacts/coverage-results/pytest-cobertura.xml | ||
badge: true | ||
format: markdown | ||
hide_complexity: true | ||
output: both | ||
- name: Write to Job Summary | ||
run: | | ||
echo "## :clipboard: Code Coverage" >> $GITHUB_STEP_SUMMARY | ||
cat code-coverage-results.md >> $GITHUB_STEP_SUMMARY | ||
- name: Get Pull Request number | ||
run: | | ||
echo "number=$(jq .pull_request.number artifacts/event-file/event.json)" >> $GITHUB_OUTPUT | ||
id: get-pr-number | ||
# Ref: https://github.com/marocchino/sticky-pull-request-comment#inputs | ||
- name: Add Code Coverage PR Comment | ||
if: ${{ steps.get-pr-number.outputs.number }} != null | ||
uses: marocchino/sticky-pull-request-comment@efaaab3fd41a9c3de579aba759d2552635e590fd # v2.8.0 | ||
with: | ||
recreate: true | ||
number: ${{ steps.get-pr-number.outputs.number }} | ||
path: code-coverage-results.md | ||
|
||
# TODO: Coverage badge |
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
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