59
59
mypy_prepare_command :
60
60
description : " "
61
61
value : ${{ jobs.Extract.outputs.mypy_prepare_command }}
62
+ unittest_report_xml_directory :
63
+ description : " "
64
+ value : ${{ jobs.Extract.outputs.unittest_report_xml_directory }}
65
+ unittest_report_xml_filename :
66
+ description : " "
67
+ value : ${{ jobs.Extract.outputs.unittest_report_xml_filename }}
68
+ unittest_report_xml :
69
+ description : " "
70
+ value : ${{ jobs.Extract.outputs.unittest_report_xml }}
62
71
coverage_report_html_directory :
63
72
description : " "
64
73
value : ${{ jobs.Extract.outputs.coverage_report_html_directory }}
65
74
coverage_report_xml_directory :
66
75
description : " "
67
76
value : ${{ jobs.Extract.outputs.coverage_report_xml_directory }}
77
+ coverage_report_xml_filename :
78
+ description : " "
79
+ value : ${{ jobs.Extract.outputs.coverage_report_xml_filename }}
68
80
coverage_report_xml :
69
81
description : " "
70
82
value : ${{ jobs.Extract.outputs.coverage_report_xml }}
71
83
coverage_report_json_directory :
72
84
description : " "
73
85
value : ${{ jobs.Extract.outputs.coverage_report_json_directory }}
86
+ coverage_report_json_filename :
87
+ description : " "
88
+ value : ${{ jobs.Extract.outputs.coverage_report_json_filename }}
74
89
coverage_report_json :
75
90
description : " "
76
91
value : ${{ jobs.Extract.outputs.coverage_report_json }}
@@ -83,10 +98,15 @@ jobs:
83
98
package_fullname : ${{ steps.getPackageName.outputs.package_fullname }}
84
99
package_directory : ${{ steps.getPackageName.outputs.package_directory }}
85
100
mypy_prepare_command : ${{ steps.getPackageName.outputs.mypy_prepare_command }}
101
+ unittest_report_xml_directory : ${{ steps.getVariables.outputs.unittest_report_xml_directory }}
102
+ unittest_report_xml_filename : ${{ steps.getVariables.outputs.unittest_report_xml_filename }}
103
+ unittest_report_xml : ${{ steps.getVariables.outputs.unittest_report_xml }}
86
104
coverage_report_html_directory : ${{ steps.getVariables.outputs.coverage_report_html_directory }}
87
105
coverage_report_xml_directory : ${{ steps.getVariables.outputs.coverage_report_xml_directory }}
106
+ coverage_report_xml_filename : ${{ steps.getVariables.outputs.coverage_report_xml_filename }}
88
107
coverage_report_xml : ${{ steps.getVariables.outputs.coverage_report_xml }}
89
108
coverage_report_json_directory : ${{ steps.getVariables.outputs.coverage_report_json_directory }}
109
+ coverage_report_json_filename : ${{ steps.getVariables.outputs.coverage_report_json_filename }}
90
110
coverage_report_json : ${{ steps.getVariables.outputs.coverage_report_json }}
91
111
92
112
steps :
@@ -144,10 +164,11 @@ jobs:
144
164
145
165
from tomli import load as tomli_load
146
166
147
- htmlDirectory = Path("htmlcov")
148
- xmlFile = Path("./coverage.xml")
149
- jsonFile = Path("./coverage.json")
150
- coverageRC = "${{ inputs.coverage_config }}".strip()
167
+ unittestXMLFile = Path("./unittest.xml")
168
+ coverageHTMLDirectory = Path("htmlcov")
169
+ coverageXMLFile = Path("./coverage.xml")
170
+ coverageJSONFile = Path("./coverage.json")
171
+ coverageRC = "${{ inputs.coverage_config }}".strip()
151
172
152
173
# Read output paths from 'pyproject.toml' file
153
174
if coverageRC == "pyproject.toml":
@@ -156,9 +177,10 @@ jobs:
156
177
with pyProjectFile.open("rb") as file:
157
178
pyProjectSettings = tomli_load(file)
158
179
159
- htmlDirectory = Path(pyProjectSettings["tool"]["coverage"]["html"]["directory"])
160
- xmlFile = Path(pyProjectSettings["tool"]["coverage"]["xml"]["output"])
161
- jsonFile = Path(pyProjectSettings["tool"]["coverage"]["json"]["output"])
180
+ unittestXMLFile = Path(pyProjectSettings["tool"]["pytest"]["junit_xml"])
181
+ coverageHTMLDirectory = Path(pyProjectSettings["tool"]["coverage"]["html"]["directory"])
182
+ coverageXMLFile = Path(pyProjectSettings["tool"]["coverage"]["xml"]["output"])
183
+ coverageJSONFile= Path(pyProjectSettings["tool"]["coverage"]["json"]["output"])
162
184
else:
163
185
print(f"File '{pyProjectFile}' not found.")
164
186
print(f"::error title=FileNotFoundError::File '{pyProjectFile}' not found.")
@@ -171,9 +193,9 @@ jobs:
171
193
with coverageRCFile.open("rb") as file:
172
194
coverageRCSettings = tomli_load(file)
173
195
174
- htmlDirectory = Path(coverageRCSettings["html"]["directory"])
175
- xmlFile = Path(coverageRCSettings["xml"]["output"])
176
- jsonFile = Path(coverageRCSettings["json"]["output"])
196
+ coverageHTMLDirectory = Path(coverageRCSettings["html"]["directory"])
197
+ coverageXMLFile = Path(coverageRCSettings["xml"]["output"])
198
+ coverageJSONFile = Path(coverageRCSettings["json"]["output"])
177
199
else:
178
200
print(f"File '{coverageRCFile}' not found.")
179
201
print(f"::error title=FileNotFoundError::File '{coverageRCFile}' not found.")
@@ -184,11 +206,16 @@ jobs:
184
206
print(f"GITHUB_OUTPUT: {github_output}")
185
207
with github_output.open("a+", encoding="utf-8") as f:
186
208
f.write(dedent(f"""\
187
- coverage_report_html_directory={htmlDirectory.as_posix()}
188
- coverage_report_xml_directory={xmlFile.parent.as_posix()}
189
- coverage_report_xml={xmlFile.as_posix()}
190
- coverage_report_json_directory={jsonFile.parent.as_posix()}
191
- coverage_report_json={jsonFile.as_posix()}
209
+ unittest_report_xml_directory={unittestXMLFile.parent.as_posix()}
210
+ unittest_report_xml_filename={unittestXMLFile.name}
211
+ unittest_report_xml={unittestXMLFile.as_posix()}
212
+ coverage_report_html_directory={coverageHTMLDirectory.as_posix()}
213
+ coverage_report_xml_directory={coverageXMLFile.parent.as_posix()}
214
+ coverage_report_xml_filename={coverageXMLFile.name}
215
+ coverage_report_xml={coverageXMLFile.as_posix()}
216
+ coverage_report_json_directory={coverageJSONFile.parent.as_posix()}
217
+ coverage_report_json_filename={coverageJSONFile.name}
218
+ coverage_report_json={coverageJSONFile.as_posix()}
192
219
"""))
193
220
194
- print(f"DEBUG:\n html={htmlDirectory }\n xml={xmlFile }\n json={jsonFile }")
221
+ print(f"DEBUG:\n unittest xml: {unittestXMLFile}\n coverage html: {coverageHTMLDirectory }\n coverage xml: {coverageXMLFile }\n coverage json: {coverageJSONFile }")
0 commit comments