Skip to content

Commit

Permalink
Added PublishCoverageResults action.
Browse files Browse the repository at this point in the history
  • Loading branch information
Paebbels committed Oct 2, 2023
1 parent 3cb8ca8 commit 996c1b6
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 15 deletions.
63 changes: 63 additions & 0 deletions .github/workflows/PublishCoverageResults.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# ==================================================================================================================== #
# Authors: #
# Patrick Lehmann #
# #
# ==================================================================================================================== #
# Copyright 2020-2023 The pyTooling Authors #
# #
# Licensed under the Apache License, Version 2.0 (the "License"); #
# you may not use this file except in compliance with the License. #
# You may obtain a copy of the License at #
# #
# http://www.apache.org/licenses/LICENSE-2.0 #
# #
# Unless required by applicable law or agreed to in writing, software #
# distributed under the License is distributed on an "AS IS" BASIS, #
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
# See the License for the specific language governing permissions and #
# limitations under the License. #
# #
# SPDX-License-Identifier: Apache-2.0 #
# ==================================================================================================================== #
name: Publish Unit Test Results

on:
workflow_call:
inputs:
report_files:
description: 'Pattern of report files to upload. Can be a comma separated list.'
required: false
default: 'artifacts/**/*.xml'
type: string

jobs:
PublishTestResults:
name: 📊 Publish Test Results
runs-on: ubuntu-latest
if: always()

steps:
- name: ⏬ Checkout repository
uses: actions/checkout@v4

- name: Download Artifacts
uses: actions/download-artifact@v3
with:
path: artifacts

- name: 📊 Publish code coverage at CodeCov
if: inputs.CodeCov == true
continue-on-error: true
uses: codecov/codecov-action@v3
with:
files: ${{ steps.getVariables.outputs.coverage_report_xml }}
flags: unittests
env_vars: PYTHON

- name: 📉 Publish code coverage at Codacy
if: inputs.Codacy == true
continue-on-error: true
uses: codacy/codacy-coverage-reporter-action@v1
with:
project-token: ${{ secrets.codacy_token }}
coverage-reports: ${{ steps.getVariables.outputs.coverage_report_xml }}
30 changes: 15 additions & 15 deletions .github/workflows/_Checking_Pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,30 +6,30 @@ on:

jobs:
UnitTestingParams:
uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev
uses: pyTooling/Actions/.github/workflows/Parameters.yml@cov
with:
name: pyTooling
python_version_list: "3.7 3.8 pypy-3.8 3.9 pypy-3.9 3.10 3.11"
exclude_list: "windows:pypy-3.8 windows:pypy-3.9"
# disable_list: "windows:3.11"

PlatformTestingParams:
uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev
uses: pyTooling/Actions/.github/workflows/Parameters.yml@cov
with:
name: Platform
python_version_list: ""
system_list: "ubuntu windows macos mingw32 mingw64 clang64 ucrt64"

UnitTesting:
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@dev
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@cov
needs:
- UnitTestingParams
with:
jobs: ${{ needs.UnitTestingParams.outputs.python_jobs }}
artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}

PlatformTesting:
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@dev
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@cov
needs:
- PlatformTestingParams
with:
Expand All @@ -39,7 +39,7 @@ jobs:
artifact: ${{ fromJson(needs.PlatformTestingParams.outputs.artifact_names).unittesting_xml }}

Coverage:
uses: pyTooling/Actions/.github/workflows/CoverageCollection.yml@dev
uses: pyTooling/Actions/.github/workflows/CoverageCollection.yml@cov
needs:
- UnitTestingParams
with:
Expand All @@ -49,7 +49,7 @@ jobs:
codacy_token: ${{ secrets.CODACY_PROJECT_TOKEN }}

PublishCoverageResults:
uses: pyTooling/Actions/.github/workflows/PublishCoverageResults.yml@dev
uses: pyTooling/Actions/.github/workflows/PublishCoverageResults.yml@cov
needs:
- Coverage
- PlatformTesting2
Expand All @@ -60,7 +60,7 @@ jobs:
codacy_token: ${{ secrets.CODACY_PROJECT_TOKEN }}

StaticTypeCheck:
uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@dev
uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@cov
needs:
- UnitTestingParams
with:
Expand All @@ -72,14 +72,14 @@ jobs:
html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}

PublishTestResults:
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@dev
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@cov
needs:
- UnitTesting
- PerformanceTesting
- Benchmarking

Package:
uses: pyTooling/Actions/.github/workflows/Package.yml@dev
uses: pyTooling/Actions/.github/workflows/Package.yml@cov
needs:
- UnitTestingParams
- Coverage
Expand All @@ -89,7 +89,7 @@ jobs:
artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }}

Release:
uses: pyTooling/Actions/.github/workflows/Release.yml@dev
uses: pyTooling/Actions/.github/workflows/Release.yml@cov
if: startsWith(github.ref, 'refs/tags')
needs:
- UnitTesting
Expand All @@ -98,7 +98,7 @@ jobs:
- Package

PublishOnPyPI:
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@dev
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@cov
if: startsWith(github.ref, 'refs/tags')
needs:
- UnitTestingParams
Expand All @@ -112,22 +112,22 @@ jobs:
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}

# VerifyDocs:
# uses: pyTooling/Actions/.github/workflows/VerifyDocs.yml@dev
# uses: pyTooling/Actions/.github/workflows/VerifyDocs.yml@cov
# needs:
# - UnitTestingParams
# with:
# python_version: ${{ needs.UnitTestingParams.outputs.python_version }}

# BuildTheDocs:
# uses: pyTooling/Actions/.github/workflows/BuildTheDocs.yml@dev
# uses: pyTooling/Actions/.github/workflows/BuildTheDocs.yml@cov
# needs:
# - UnitTestingParams
## - VerifyDocs
# with:
# artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_html }}

PublishToGitHubPages:
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@dev
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@cov
needs:
- UnitTestingParams
# - BuildTheDocs
Expand All @@ -139,7 +139,7 @@ jobs:
typing: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}

ArtifactCleanUp:
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@dev
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@cov
needs:
- UnitTestingParams
- UnitTesting
Expand Down

0 comments on commit 996c1b6

Please sign in to comment.