Skip to content

v4.0.0

Compare
Choose a tag to compare
@Paebbels Paebbels released this 15 Jan 10:07
· 6 commits to dev since this release

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:
      [tool.pytest]
      junit_xml=
      Latter 2 parameters are read from:
      [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 an inventory.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 as 5.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.

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 by printf in Bash scripting.
  • Reworked LaTeX/MikTeX job:
  • Implemented workarounds in the SphinxDocumentation template to workaround 2 bugs in Sphinx:
  • Removed Extract configurations from pyproject.toml step from UnitTesting workflow template. The needed information are provided by the separate ExtractConfiguration workflow template. While it needs some parameter passing, it reduces duplicated code for parsing the TOML configuration.

Bug Fixes

  • Changed dependency from interrogate to interrogate[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 like tomli in MSYS2/MinGW32.

Related Issues and Pull-Requests