From 323fa17773972b01e7d39c104b53c992663faed4 Mon Sep 17 00:00:00 2001 From: Patrick Lehmann Date: Sun, 14 Dec 2025 16:25:54 +0100 Subject: [PATCH] Allow explicit relative path in requirements file. --- .github/workflows/CompletePipeline.yml | 1 - .github/workflows/UnitTesting.yml | 11 ++++++++--- doc/requirements.txt | 4 ++-- tests/requirements.txt | 7 ------- tests/unit/requirements.txt | 7 +++++++ 5 files changed, 17 insertions(+), 13 deletions(-) diff --git a/.github/workflows/CompletePipeline.yml b/.github/workflows/CompletePipeline.yml index b5e924d..068bd91 100644 --- a/.github/workflows/CompletePipeline.yml +++ b/.github/workflows/CompletePipeline.yml @@ -237,7 +237,6 @@ jobs: with: jobs: ${{ needs.UnitTestingParams.outputs.python_jobs }} # TODO: shouldn't this be configured by a parameter? Same as directories - requirements: "-r tests/unit/requirements.txt" pacboy: "gcc:p" unittest_report_xml: ${{ needs.ConfigParams.outputs.unittest_report_xml }} coverage_report_xml: ${{ needs.ConfigParams.outputs.coverage_report_xml }} diff --git a/.github/workflows/UnitTesting.yml b/.github/workflows/UnitTesting.yml index 000f979..7e119d5 100644 --- a/.github/workflows/UnitTesting.yml +++ b/.github/workflows/UnitTesting.yml @@ -47,7 +47,7 @@ on: requirements: description: 'Python dependencies to be installed through pip.' required: false - default: '-r tests/requirements.txt' + default: '-r ./requirements.txt' type: string mingw_requirements: description: 'Override Python dependencies to be installed through pip on MSYS2 (MINGW64) only.' @@ -82,7 +82,7 @@ on: root_directory: description: 'Working directory for running tests.' required: false - default: '' + default: '.' type: string tests_directory: description: 'Path to the directory containing tests (relative from root_directory).' @@ -234,7 +234,12 @@ jobs: requirements = "${{ inputs.requirements }}" if requirements.startswith("-r"): - requirementsFile = Path(requirements[2:].lstrip()) + requirements = requirements[2:].lstrip() + if requirements.startswith("./"): + requirementsFile = Path("${{ inputs.root_directory || '.' }}") / Path("${{ inputs.tests_directory || '.' }}") / Path("${{ inputs.unittest_directory || '.' }}") / Path(requirements[2:]) + else: + requirementsFile = Path(requirements) + try: dependencies = loadRequirementsFile(requirementsFile) except FileNotFoundError as ex: diff --git a/doc/requirements.txt b/doc/requirements.txt index 725f8ae..92f1e46 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -11,9 +11,9 @@ docutils_stubs ~= 0.0.22 sphinx_rtd_theme ~= 3.0 # Sphinx Extenstions -sphinxcontrib-mermaid ~= 1.0 +sphinxcontrib-mermaid ~= 1.2 autoapi >= 2.0.1 sphinx_design ~= 0.6 sphinx-copybutton >= 0.5 -sphinx_autodoc_typehints ~= 3.5 +sphinx_autodoc_typehints ~= 3.6 sphinx_reports ~= 0.9 diff --git a/tests/requirements.txt b/tests/requirements.txt index 7a7add3..57f5464 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1,12 +1,5 @@ -r ../requirements.txt -# Coverage collection -Coverage ~= 7.11 - -# Test Runner -pytest ~= 9.0 -pytest-cov ~= 7.0 - # Static Type Checking mypy[reports] ~= 1.18 typing_extensions ~= 4.15 diff --git a/tests/unit/requirements.txt b/tests/unit/requirements.txt index 3c8d7e7..98d75ba 100644 --- a/tests/unit/requirements.txt +++ b/tests/unit/requirements.txt @@ -1 +1,8 @@ -r ../requirements.txt + +# Coverage collection +Coverage ~= 7.13 + +# Test Runner +pytest ~= 9.0 +pytest-cov ~= 7.0