diff --git a/.github/workflows/ApplicationTesting.yml b/.github/workflows/ApplicationTesting.yml index eab42c7..a2cfbef 100644 --- a/.github/workflows/ApplicationTesting.yml +++ b/.github/workflows/ApplicationTesting.yml @@ -124,7 +124,11 @@ jobs: requirements = "${{ inputs.requirements }}" if requirements.startswith("-r"): requirementsFile = Path(requirements[2:].lstrip()) - dependencies = loadRequirementsFile(requirementsFile) + try: + dependencies = loadRequirementsFile(requirementsFile) + except FileNotFoundError as ex: + print(f"::error title=FileNotFoundError::{ex}") + exit(1) else: dependencies = [req.strip() for req in requirements.split(" ")] diff --git a/.github/workflows/CoverageCollection.yml b/.github/workflows/CoverageCollection.yml index 2d0204f..4f8b019 100644 --- a/.github/workflows/CoverageCollection.yml +++ b/.github/workflows/CoverageCollection.yml @@ -102,7 +102,9 @@ jobs: htmlDirectory = pyProjectSettings["tool"]["coverage"]["html"]["directory"] xmlFile = pyProjectSettings["tool"]["coverage"]["xml"]["output"] else: - print(f"File '{pyProjectFile}' not found and no ' .coveragerc' file specified.") + print(f"File '{pyProjectFile}' not found.") + print(f"::error title=FileNotFoundError::File '{pyProjectFile}' not found.") + exit(1) # Read output paths from '.coveragerc' file elif len(coverageRC) > 0: @@ -115,6 +117,8 @@ jobs: xmlFile = coverageRCSettings["xml"]["output"] else: print(f"File '{coverageRCFile}' not found.") + print(f"::error title=FileNotFoundError::File '{coverageRCFile}' not found.") + exit(1) # Write jobs to special file github_output = Path(getenv("GITHUB_OUTPUT")) diff --git a/.github/workflows/PublishCoverageResults.yml b/.github/workflows/PublishCoverageResults.yml index ae1074a..7f83130 100644 --- a/.github/workflows/PublishCoverageResults.yml +++ b/.github/workflows/PublishCoverageResults.yml @@ -102,7 +102,9 @@ jobs: xmlFile = Path(pyProjectSettings["tool"]["coverage"]["xml"]["output"]) jsonFile = Path(pyProjectSettings["tool"]["coverage"]["json"]["output"]) else: - print(f"File '{pyProjectFile}' not found and no '.coveragerc' file specified.") + print(f"File '{pyProjectFile}' not found.") + print(f"::error title=FileNotFoundError::File '{pyProjectFile}' not found.") + exit(1) # Read output paths from '.coveragerc' file elif len(coverageRC) > 0: @@ -116,6 +118,8 @@ jobs: jsonFile = Path(coverageRCSettings["json"]["output"]) else: print(f"File '{coverageRCFile}' not found.") + print(f"::error title=FileNotFoundError::File '{coverageRCFile}' not found.") + exit(1) # Write jobs to special file github_output = Path(getenv("GITHUB_OUTPUT")) @@ -131,8 +135,10 @@ jobs: - name: Rename .coverage files and collect them all to coverage/ run: | + ls -lAh artifacts/ + ls -lAh artifacts/*/.coverage mkdir -p coverage - find . -type f -path "*artifacts*SQLite*.coverage" -exec sh -c 'cp -v $0 "coverage/$(basename $0).$(basename $(dirname $0))"' {} ';' + find artifacts/ -type f -path "*SQLite*.coverage" -exec sh -c 'cp -v $0 "coverage/$(basename $0).$(basename $(dirname $0))"' {} ';' tree -a coverage - name: Combine SQLite files (using Coverage.py) diff --git a/.github/workflows/SphinxDocumentation.yml b/.github/workflows/SphinxDocumentation.yml index d196dbf..6fe793b 100644 --- a/.github/workflows/SphinxDocumentation.yml +++ b/.github/workflows/SphinxDocumentation.yml @@ -121,7 +121,9 @@ jobs: xmlFile = Path(pyProjectSettings["tool"]["coverage"]["xml"]["output"]) jsonFile = Path(pyProjectSettings["tool"]["coverage"]["json"]["output"]) else: - print(f"File '{pyProjectFile}' not found and no '.coveragerc' file specified.") + print(f"File '{pyProjectFile}' not found.") + print(f"::error title=FileNotFoundError::File '{pyProjectFile}' not found.") + exit(1) # Read output paths from '.coveragerc' file elif len(coverageRC) > 0: @@ -135,6 +137,8 @@ jobs: jsonFile = Path(coverageRCSettings["json"]["output"]) else: print(f"File '{coverageRCFile}' not found.") + print(f"::error title=FileNotFoundError::File '{coverageRCFile}' not found.") + exit(1) # Write jobs to special file github_output = Path(getenv("GITHUB_OUTPUT")) diff --git a/.github/workflows/UnitTesting.yml b/.github/workflows/UnitTesting.yml index 3f9b6d3..f9fe40c 100644 --- a/.github/workflows/UnitTesting.yml +++ b/.github/workflows/UnitTesting.yml @@ -197,7 +197,11 @@ jobs: requirements = "${{ inputs.requirements }}" if requirements.startswith("-r"): requirementsFile = Path(requirements[2:].lstrip()) - dependencies = loadRequirementsFile(requirementsFile) + try: + dependencies = loadRequirementsFile(requirementsFile) + except FileNotFoundError as ex: + print(f"::error title=FileNotFoundError::{ex}") + exit(1) else: dependencies = [req.strip() for req in requirements.split(" ")] @@ -344,7 +348,9 @@ jobs: xmlFile = Path(pyProjectSettings["tool"]["coverage"]["xml"]["output"]) jsonFile = Path(pyProjectSettings["tool"]["coverage"]["json"]["output"]) else: - print(f"File '{pyProjectFile}' not found and no '.coveragerc' file specified.") + print(f"File '{pyProjectFile}' not found.") + print(f"::error title=FileNotFoundError::File '{pyProjectFile}' not found.") + exit(1) # Read output paths from '.coveragerc' file elif len(coverageRC) > 0: @@ -358,6 +364,8 @@ jobs: jsonFile = Path(coverageRCSettings["json"]["output"]) else: print(f"File '{coverageRCFile}' not found.") + print(f"::error title=FileNotFoundError::File '{coverageRCFile}' not found.") + exit(1) # Write jobs to special file github_output = Path(getenv("GITHUB_OUTPUT")) @@ -452,6 +460,7 @@ jobs: with: name: ${{ inputs.coverage_sqlite_artifact }}-${{ matrix.system }}-${{ matrix.runtime }}-${{ matrix.python }} path: .coverage + include-hidden-files: true if-no-files-found: error retention-days: 1 diff --git a/tests/pacman_packages.py b/tests/pacman_packages.py index 6d91871..c570554 100644 --- a/tests/pacman_packages.py +++ b/tests/pacman_packages.py @@ -25,7 +25,11 @@ def loadRequirementsFile(requirementsFile: Path): requirements = "-r ../tests/requirements.txt" if requirements.startswith("-r"): requirementsFile = Path(requirements[2:].lstrip()) - dependencies = loadRequirementsFile(requirementsFile) + try: + dependencies = loadRequirementsFile(requirementsFile) + except FileNotFoundError as ex: + print(f"::error title=FileNotFound::{ex}") + exit(1) else: dependencies = [req.strip() for req in requirements.split(" ")]