mirror of
https://github.com/pyTooling/Actions.git
synced 2026-02-12 11:06:56 +08:00
Extract pyedaa-reports settings for merged unittesting results.
This commit is contained in:
2
.github/workflows/CompletePipeline.yml
vendored
2
.github/workflows/CompletePipeline.yml
vendored
@@ -206,10 +206,12 @@ jobs:
|
|||||||
PublishTestResults:
|
PublishTestResults:
|
||||||
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@dev
|
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@dev
|
||||||
needs:
|
needs:
|
||||||
|
- ConfigParams
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
- UnitTesting
|
- UnitTesting
|
||||||
with:
|
with:
|
||||||
additional_merge_args: '-d "--pytest=rewrite-dunder-init;reduce-depth:pytest.tests.unit"'
|
additional_merge_args: '-d "--pytest=rewrite-dunder-init;reduce-depth:pytest.tests.unit"'
|
||||||
|
merged_junit_filename: ${{ needs.ConfigParams.outputs.unittest_merged_report_xml_filename }}
|
||||||
merged_junit_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}
|
merged_junit_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}
|
||||||
|
|
||||||
# VerifyDocs:
|
# VerifyDocs:
|
||||||
|
|||||||
44
.github/workflows/ExtractConfiguration.yml
vendored
44
.github/workflows/ExtractConfiguration.yml
vendored
@@ -68,6 +68,15 @@ on:
|
|||||||
unittest_report_xml:
|
unittest_report_xml:
|
||||||
description: ""
|
description: ""
|
||||||
value: ${{ jobs.Extract.outputs.unittest_report_xml }}
|
value: ${{ jobs.Extract.outputs.unittest_report_xml }}
|
||||||
|
unittest_merged_report_xml_directory:
|
||||||
|
description: ""
|
||||||
|
value: ${{ jobs.Extract.outputs.unittest_merged_report_xml_directory }}
|
||||||
|
unittest_merged_report_xml_filename:
|
||||||
|
description: ""
|
||||||
|
value: ${{ jobs.Extract.outputs.unittest_merged_report_xml_filename }}
|
||||||
|
unittest_merged_report_xml:
|
||||||
|
description: ""
|
||||||
|
value: ${{ jobs.Extract.outputs.unittest_merged_report_xml }}
|
||||||
coverage_report_html_directory:
|
coverage_report_html_directory:
|
||||||
description: ""
|
description: ""
|
||||||
value: ${{ jobs.Extract.outputs.coverage_report_html_directory }}
|
value: ${{ jobs.Extract.outputs.coverage_report_html_directory }}
|
||||||
@@ -95,19 +104,22 @@ jobs:
|
|||||||
name: 📓 Extract configurations from pyproject.toml
|
name: 📓 Extract configurations from pyproject.toml
|
||||||
runs-on: "ubuntu-${{ inputs.ubuntu_image_version }}"
|
runs-on: "ubuntu-${{ inputs.ubuntu_image_version }}"
|
||||||
outputs:
|
outputs:
|
||||||
package_fullname: ${{ steps.getPackageName.outputs.package_fullname }}
|
package_fullname: ${{ steps.getPackageName.outputs.package_fullname }}
|
||||||
package_directory: ${{ steps.getPackageName.outputs.package_directory }}
|
package_directory: ${{ steps.getPackageName.outputs.package_directory }}
|
||||||
mypy_prepare_command: ${{ steps.getPackageName.outputs.mypy_prepare_command }}
|
mypy_prepare_command: ${{ steps.getPackageName.outputs.mypy_prepare_command }}
|
||||||
unittest_report_xml_directory: ${{ steps.getVariables.outputs.unittest_report_xml_directory }}
|
unittest_report_xml_directory: ${{ steps.getVariables.outputs.unittest_report_xml_directory }}
|
||||||
unittest_report_xml_filename: ${{ steps.getVariables.outputs.unittest_report_xml_filename }}
|
unittest_report_xml_filename: ${{ steps.getVariables.outputs.unittest_report_xml_filename }}
|
||||||
unittest_report_xml: ${{ steps.getVariables.outputs.unittest_report_xml }}
|
unittest_report_xml: ${{ steps.getVariables.outputs.unittest_report_xml }}
|
||||||
coverage_report_html_directory: ${{ steps.getVariables.outputs.coverage_report_html_directory }}
|
unittest_merged_report_xml_directory: ${{ steps.getVariables.outputs.unittest_merged_report_xml_directory }}
|
||||||
coverage_report_xml_directory: ${{ steps.getVariables.outputs.coverage_report_xml_directory }}
|
unittest_merged_report_xml_filename: ${{ steps.getVariables.outputs.unittest_merged_report_xml_filename }}
|
||||||
coverage_report_xml_filename: ${{ steps.getVariables.outputs.coverage_report_xml_filename }}
|
unittest_merged_report_xml: ${{ steps.getVariables.outputs.unittest_merged_report_xml }}
|
||||||
coverage_report_xml: ${{ steps.getVariables.outputs.coverage_report_xml }}
|
coverage_report_html_directory: ${{ steps.getVariables.outputs.coverage_report_html_directory }}
|
||||||
coverage_report_json_directory: ${{ steps.getVariables.outputs.coverage_report_json_directory }}
|
coverage_report_xml_directory: ${{ steps.getVariables.outputs.coverage_report_xml_directory }}
|
||||||
coverage_report_json_filename: ${{ steps.getVariables.outputs.coverage_report_json_filename }}
|
coverage_report_xml_filename: ${{ steps.getVariables.outputs.coverage_report_xml_filename }}
|
||||||
coverage_report_json: ${{ steps.getVariables.outputs.coverage_report_json }}
|
coverage_report_xml: ${{ steps.getVariables.outputs.coverage_report_xml }}
|
||||||
|
coverage_report_json_directory: ${{ steps.getVariables.outputs.coverage_report_json_directory }}
|
||||||
|
coverage_report_json_filename: ${{ steps.getVariables.outputs.coverage_report_json_filename }}
|
||||||
|
coverage_report_json: ${{ steps.getVariables.outputs.coverage_report_json }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: ⏬ Checkout repository
|
- name: ⏬ Checkout repository
|
||||||
@@ -178,6 +190,7 @@ jobs:
|
|||||||
pyProjectSettings = tomli_load(file)
|
pyProjectSettings = tomli_load(file)
|
||||||
|
|
||||||
unittestXMLFile = Path(pyProjectSettings["tool"]["pytest"]["junit_xml"])
|
unittestXMLFile = Path(pyProjectSettings["tool"]["pytest"]["junit_xml"])
|
||||||
|
mergedUnittestXMLFile = Path(pyProjectSettings["tool"]["pyedaa-reports"]["junit_xml"])
|
||||||
coverageHTMLDirectory = Path(pyProjectSettings["tool"]["coverage"]["html"]["directory"])
|
coverageHTMLDirectory = Path(pyProjectSettings["tool"]["coverage"]["html"]["directory"])
|
||||||
coverageXMLFile = Path(pyProjectSettings["tool"]["coverage"]["xml"]["output"])
|
coverageXMLFile = Path(pyProjectSettings["tool"]["coverage"]["xml"]["output"])
|
||||||
coverageJSONFile= Path(pyProjectSettings["tool"]["coverage"]["json"]["output"])
|
coverageJSONFile= Path(pyProjectSettings["tool"]["coverage"]["json"]["output"])
|
||||||
@@ -209,6 +222,9 @@ jobs:
|
|||||||
unittest_report_xml_directory={unittestXMLFile.parent.as_posix()}
|
unittest_report_xml_directory={unittestXMLFile.parent.as_posix()}
|
||||||
unittest_report_xml_filename={unittestXMLFile.name}
|
unittest_report_xml_filename={unittestXMLFile.name}
|
||||||
unittest_report_xml={unittestXMLFile.as_posix()}
|
unittest_report_xml={unittestXMLFile.as_posix()}
|
||||||
|
unittest_merged_report_xml_directory={mergedUnittestXMLFile.parent.as_posix()}
|
||||||
|
unittest_merged_report_xml_filename={mergedUnittestXMLFile.name}
|
||||||
|
unittest_merged_report_xml={mergedUnittestXMLFile.as_posix()}
|
||||||
coverage_report_html_directory={coverageHTMLDirectory.as_posix()}
|
coverage_report_html_directory={coverageHTMLDirectory.as_posix()}
|
||||||
coverage_report_xml_directory={coverageXMLFile.parent.as_posix()}
|
coverage_report_xml_directory={coverageXMLFile.parent.as_posix()}
|
||||||
coverage_report_xml_filename={coverageXMLFile.name}
|
coverage_report_xml_filename={coverageXMLFile.name}
|
||||||
@@ -218,4 +234,4 @@ jobs:
|
|||||||
coverage_report_json={coverageJSONFile.as_posix()}
|
coverage_report_json={coverageJSONFile.as_posix()}
|
||||||
"""))
|
"""))
|
||||||
|
|
||||||
print(f"DEBUG:\n unittest xml: {unittestXMLFile}\n coverage html: {coverageHTMLDirectory}\n coverage xml: {coverageXMLFile}\n coverage json: {coverageJSONFile}")
|
print(f"DEBUG:\n unittest xml: {unittestXMLFile}\n merged unittest xml: {mergedUnittestXMLFile}\n coverage html: {coverageHTMLDirectory}\n coverage xml: {coverageXMLFile}\n coverage json: {coverageJSONFile}")
|
||||||
|
|||||||
16
.github/workflows/PublishTestResults.yml
vendored
16
.github/workflows/PublishTestResults.yml
vendored
@@ -34,6 +34,11 @@ on:
|
|||||||
required: false
|
required: false
|
||||||
default: '*-UnitTestReportSummary-XML-*'
|
default: '*-UnitTestReportSummary-XML-*'
|
||||||
type: string
|
type: string
|
||||||
|
merged_junit_filename:
|
||||||
|
description: 'Filename of the merged JUnit Test Summary.'
|
||||||
|
required: false
|
||||||
|
default: 'Unittesting.xml'
|
||||||
|
type: string
|
||||||
merged_junit_artifact:
|
merged_junit_artifact:
|
||||||
description: 'Name of the merged JUnit Test Summary artifact.'
|
description: 'Name of the merged JUnit Test Summary artifact.'
|
||||||
required: false
|
required: false
|
||||||
@@ -87,16 +92,16 @@ jobs:
|
|||||||
|
|
||||||
- name: 🔁 Merge JUnit Unit Test Summaries
|
- name: 🔁 Merge JUnit Unit Test Summaries
|
||||||
run: |
|
run: |
|
||||||
pyedaa-reports -v unittest "--merge=pyTest-JUnit:junit/*.xml" ${{ inputs.additional_merge_args }} "--output=pyTest-JUnit:Unittesting.xml"
|
pyedaa-reports -v unittest "--merge=pyTest-JUnit:junit/*.xml" ${{ inputs.additional_merge_args }} "--output=pyTest-JUnit:${{ inputs.merged_junit_filename }}"
|
||||||
printf "%s\n" "cat Unittesting.xml"
|
printf "%s\n" "cat ${{ inputs.merged_junit_filename }}"
|
||||||
cat Unittesting.xml
|
cat ${{ inputs.merged_junit_filename }}
|
||||||
|
|
||||||
- name: 📊 Publish Unit Test Results
|
- name: 📊 Publish Unit Test Results
|
||||||
uses: dorny/test-reporter@v1
|
uses: dorny/test-reporter@v1
|
||||||
if: inputs.publish && inputs.report_title != ''
|
if: inputs.publish && inputs.report_title != ''
|
||||||
with:
|
with:
|
||||||
name: ${{ inputs.report_title }}
|
name: ${{ inputs.report_title }}
|
||||||
path: Unittesting.xml
|
path: ${{ inputs.merged_junit_filename }}
|
||||||
reporter: java-junit
|
reporter: java-junit
|
||||||
|
|
||||||
- name: 📤 Upload merged 'JUnit Test Summary' artifact
|
- name: 📤 Upload merged 'JUnit Test Summary' artifact
|
||||||
@@ -104,6 +109,7 @@ jobs:
|
|||||||
if: inputs.merged_junit_artifact != ''
|
if: inputs.merged_junit_artifact != ''
|
||||||
with:
|
with:
|
||||||
name: ${{ inputs.merged_junit_artifact }}
|
name: ${{ inputs.merged_junit_artifact }}
|
||||||
path: Unittesting.xml
|
path: ${{ inputs.merged_junit_filename }}
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
investigate: true
|
||||||
|
|||||||
1
.github/workflows/SphinxDocumentation.yml
vendored
1
.github/workflows/SphinxDocumentation.yml
vendored
@@ -105,6 +105,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: ${{ inputs.unittest_xml_artifact }}
|
name: ${{ inputs.unittest_xml_artifact }}
|
||||||
path: ${{ inputs.unittest_xml_directory }}
|
path: ${{ inputs.unittest_xml_directory }}
|
||||||
|
investigate: true
|
||||||
|
|
||||||
- name: 📥 Download artifacts '${{ inputs.coverage_json_artifact }}' from 'PublishCoverageResults' job
|
- name: 📥 Download artifacts '${{ inputs.coverage_json_artifact }}' from 'PublishCoverageResults' job
|
||||||
uses: pyTooling/download-artifact@v4
|
uses: pyTooling/download-artifact@v4
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[build-system]
|
[build-system]
|
||||||
requires = [
|
requires = [
|
||||||
"setuptools ~= 76.0",
|
"setuptools ~= 77.0",
|
||||||
"wheel ~= 0.45",
|
"wheel ~= 0.45",
|
||||||
"pyTooling ~= 8.3"
|
"pyTooling ~= 8.3"
|
||||||
]
|
]
|
||||||
@@ -21,7 +21,10 @@ namespace_packages = true
|
|||||||
html_report = "report/typing"
|
html_report = "report/typing"
|
||||||
|
|
||||||
[tool.pytest]
|
[tool.pytest]
|
||||||
junit_xml = "report/unit/TestReportSummary.xml"
|
junit_xml = "report/unit/UnittestReportSummary.xml"
|
||||||
|
|
||||||
|
[tool.pyedaa-reports]
|
||||||
|
junit_xml = "report/unit/unittest.xml"
|
||||||
|
|
||||||
[tool.pytest.ini_options]
|
[tool.pytest.ini_options]
|
||||||
addopts = "--tb=native"
|
addopts = "--tb=native"
|
||||||
|
|||||||
Reference in New Issue
Block a user