v4.0.0
New Features
ExtractConfiguration
provides new output parameters:unittest_report_xml_directory
unittest_report_xml_filename
unittest_report_xml
coverage_report_xml_filename
coverage_report_json_filename
- First 3 parameters are read from:
Latter 2 parameters are read from:
[tool.pytest] junit_xml=
[tool.coverage.xml] output= [tool.coverage.json] output=
UnitTesting
has new parameters to specify the pytest JUnit file:unittest_report_xml_directory
unittest_report_xml_filename
UnitTesting
has new parameters ....................................coverage_report_html_directory
NightlyRelease
an now produce aninventory.json
file.- New parameter
inventory-json
to specify the inventory filename. - New parameter
inventory-categories
to specify the actual version shipped in the release. E.g. in case of a nightly release to specify it as5.0.0-dev
. - New parameter
inventory-categories
to specify the ordner and number of applied categories per file.
{ "version": 1.0, "timestamp": "2025-01-14T12-20-51+00:00", "meta": { "tag": "nightly", "version": "4.2.5", "git-hash": "699f86b451cf083927197327809b5c67550692dd", "repository-url": "https://github.com/pyTooling/Actions", "release-url": "https://github.com/pyTooling/Actions/releases/download/nightly", "categories": ["os", "version"] }, "files": { "ubuntu": {"24.04": {"file": "application", "title": "Application - myTool - 4.2.0" } }, "macos": {"14": {"file": "application", "title": "Application - myTool - 4.2.0" } }, "windows": {"2022": {"file": "application.exe", "title": "Application - myTool - 4.2.0" } } } }
-
Asset specifications now accept 3 and 4
:
-separated fields:- 3 part format:
<artifact-name>:<file-name>:<asset-title>
- 4 part format:
<artifact-name>:<file-name>:<inventory-categories>:<asset-title>
<inventory-categories>
is a,
-separated list of categories used to insert assets into the inventory JSON file. Categories are processed left-to-right. - 3 part format:
- New parameter
Changes
- Bumped dependencies.
- Bumped MSYS2 Python version from 3.11 to 3.12.
(Python 3.13 isn't yet supported by MSYS2 environments.) - Exchanged
echo
byprintf
in Bash scripting. - Reworked LaTeX/MikTeX job:
- Changed used action from
xu-cheng/latex-action@master
toaddnab/docker-run-action@v3
which starts thepytooling/miktex:sphinx
Docker image. - Build PDF documents with
latexmk
usingxelatex
.
- Changed used action from
- Implemented workarounds in the
SphinxDocumentation
template to workaround 2 bugs in Sphinx:- Workaround I: Name downloaded images according to their MIME type.
See also: sphinx-doc/sphinx#13190 - Workaround II: Escape
%
-sign in filenames.
See also: sphinx-doc/sphinx#13189
- Workaround I: Name downloaded images according to their MIME type.
- Removed
Extract configurations from pyproject.toml
step fromUnitTesting
workflow template. The needed information are provided by the separateExtractConfiguration
workflow template. While it needs some parameter passing, it reduces duplicated code for parsing the TOML configuration.
Bug Fixes
- Changed dependency from
interrogate
tointerrogate[png]
- Enhanced artifact pattern/filter, when downloading code coverage results in
PublishCoverageResults.yml
:
*-CodeCoverage-*
→*-CodeCoverage-SQLite-*
- Enhanced artifact pattern/filter, when downloading uni testing results in
PublishTestResults.yml
:
*-UnitTestReportSummary-*
→*-UnitTestReportSummary-XML-*
Documentation
- Updated README.
- Fixed shields.
Unit Tests
- Updated test pipelines.
CompletePipeline
uses latest templates and extracted parameters.- Removed
mingw32
from pipeline tests due to missing dependencies liketomli
in MSYS2/MinGW32.