@@ -205,6 +205,38 @@ jobs:
205205 run : |
206206 py -3.9 -m pip install --disable-pip-version-check --break-system-packages -U tomli
207207
208+ - name : Compute path to requirements file
209+ id : requirements
210+ shell : python
211+ run : |
212+ from os import getenv
213+ from pathlib import Path
214+ from sys import version
215+
216+ print(f"Python: {version}")
217+
218+ requirements = "${{ inputs.requirements }}"
219+ if requirements.startswith("-r"):
220+ requirements = requirements[2:].lstrip()
221+ if requirements.startswith("./"):
222+ requirementsFile = Path("${{ inputs.root_directory || '.' }}") / Path("${{ inputs.tests_directory || '.' }}") / Path("${{ inputs.unittest_directory || '.' }}") / Path(requirements[2:])
223+ else:
224+ requirementsFile = Path(requirements)
225+
226+ if not requirementsFile.exists():
227+ print(f"::error title=FileNotFoundError::{ex}")
228+ exit(1)
229+
230+ print(f"requirements file: {requirementsFile.as_posix()}")
231+
232+ # Write requirements path to special file
233+ github_output = Path(getenv("GITHUB_OUTPUT"))
234+ print(f"GITHUB_OUTPUT: {github_output}")
235+ with github_output.open("a+") as f:
236+ f.write(f"requirements=-r {requirementsFile.as_posix()}\n")
237+ else:
238+ print(f"requirements list: {requirements}")
239+
208240 - name : Compute pacman/pacboy packages
209241 id : pacboy
210242 if : matrix.system == 'msys2'
@@ -215,8 +247,6 @@ jobs:
215247 from re import compile
216248 from sys import version
217249
218- print(f"Python: {version}")
219-
220250 def loadRequirementsFile(requirementsFile: Path):
221251 requirements = []
222252 with requirementsFile.open("r") as file:
@@ -232,16 +262,10 @@ jobs:
232262
233263 return requirements
234264
235- requirements = "${{ inputs .requirements }}"
265+ requirements = "${{ steps.requirements.outputs .requirements }}"
236266 if requirements.startswith("-r"):
237- requirements = requirements[2:].lstrip()
238- if requirements.startswith("./"):
239- requirementsFile = Path("${{ inputs.root_directory || '.' }}") / Path("${{ inputs.tests_directory || '.' }}") / Path("${{ inputs.unittest_directory || '.' }}") / Path(requirements[2:])
240- else:
241- requirementsFile = Path(requirements)
242-
243267 try:
244- dependencies = loadRequirementsFile(requirementsFile )
268+ dependencies = loadRequirementsFile(Path(requirements[2:].lstrip()) )
245269 except FileNotFoundError as ex:
246270 print(f"::error title=FileNotFoundError::{ex}")
247271 exit(1)
@@ -329,15 +353,15 @@ jobs:
329353 if : matrix.system != 'msys2'
330354 run : |
331355 python -m pip install --disable-pip-version-check -U wheel tomli
332- python -m pip install --disable-pip-version-check ${{ inputs .requirements }}
356+ python -m pip install --disable-pip-version-check ${{ steps.requirements.outputs .requirements }}
333357
334358 - name : 🔧 Install pip dependencies (MSYS2)
335359 if : matrix.system == 'msys2'
336360 run : |
337361 if [ -n '${{ inputs.mingw_requirements }}' ]; then
338362 python -m pip install --disable-pip-version-check --break-system-packages ${{ inputs.mingw_requirements }}
339363 else
340- python -m pip install --disable-pip-version-check --break-system-packages ${{ inputs .requirements }}
364+ python -m pip install --disable-pip-version-check --break-system-packages ${{ steps.requirements.outputs .requirements }}
341365 fi
342366
343367# Before scripts
0 commit comments