mirror of
https://github.com/pyTooling/Actions.git
synced 2026-02-15 20:46:55 +08:00
Compare commits
63 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a1509493ae | ||
|
|
33edd82e6f | ||
|
|
d08f312904 | ||
|
|
731d0d2369 | ||
|
|
de400ae2db | ||
|
|
cb3c338df6 | ||
|
|
79c8526437 | ||
|
|
0f7d062c38 | ||
|
|
d5635a8842 | ||
|
|
6aa6af95ee | ||
|
|
15bf375fe6 | ||
|
|
a1b03cfe2a | ||
|
|
79620e267d | ||
|
|
fffef5c814 | ||
|
|
1c22a8805e | ||
|
|
42e17fae05 | ||
|
|
9b7032a585 | ||
|
|
9110c85738 | ||
|
|
c55ff4d83f | ||
|
|
c81d139080 | ||
|
|
c64e054bcd | ||
|
|
a2f2a6c0d4 | ||
|
|
78fdb584aa | ||
|
|
a456635686 | ||
|
|
befc59f22d | ||
|
|
d6fc0efd47 | ||
|
|
c018acc3c1 | ||
|
|
d74c610bb4 | ||
|
|
edc4ab3e86 | ||
|
|
0a338ae8b7 | ||
|
|
4069da0a74 | ||
|
|
9f4321b7e7 | ||
|
|
0db52d7abc | ||
|
|
5128522ede | ||
|
|
899a5f53bc | ||
|
|
5925101578 | ||
|
|
1b0acf206c | ||
|
|
a0c016bf79 | ||
|
|
40217006fd | ||
|
|
99f30dab53 | ||
|
|
1c42072471 | ||
|
|
74afc5a42a | ||
|
|
2e5a79e0c2 | ||
|
|
db99e35dec | ||
|
|
6cfc6e0f8f | ||
|
|
5adddda1a1 | ||
|
|
91289c4257 | ||
|
|
527e94b245 | ||
|
|
f11c335674 | ||
|
|
5bed864443 | ||
|
|
37ec436eb4 | ||
|
|
6a7a4212c3 | ||
|
|
f5b6f17d4e | ||
|
|
883238547a | ||
|
|
7cd852db58 | ||
|
|
ce0d30fe3f | ||
|
|
34dacf7bcf | ||
|
|
48090e113d | ||
|
|
e082d77e7a | ||
|
|
181035b0ba | ||
|
|
643f95bbb6 | ||
|
|
424b75ca96 | ||
|
|
f0610331b9 |
2
.github/workflows/CheckDocumentation.yml
vendored
2
.github/workflows/CheckDocumentation.yml
vendored
@@ -32,7 +32,7 @@ on:
|
|||||||
python_version:
|
python_version:
|
||||||
description: 'Python version.'
|
description: 'Python version.'
|
||||||
required: false
|
required: false
|
||||||
default: '3.12'
|
default: '3.13'
|
||||||
type: string
|
type: string
|
||||||
directory:
|
directory:
|
||||||
description: 'Source code directory to check.'
|
description: 'Source code directory to check.'
|
||||||
|
|||||||
82
.github/workflows/CompletePipeline.yml
vendored
82
.github/workflows/CompletePipeline.yml
vendored
@@ -93,23 +93,46 @@ on:
|
|||||||
required: false
|
required: false
|
||||||
default: ''
|
default: ''
|
||||||
type: string
|
type: string
|
||||||
|
codecov:
|
||||||
|
description: 'Publish merged coverage and unittest reports to Codecov.'
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
codacy:
|
||||||
|
description: 'Publish merged coverage report to Codacy.'
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
dorny:
|
||||||
|
description: 'Publish merged unittest report via Dorny Test-Reporter.'
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
cleanup:
|
||||||
|
description: 'Cleanup artifacts afterwards.'
|
||||||
|
required: false
|
||||||
|
default: true
|
||||||
|
type: boolean
|
||||||
secrets:
|
secrets:
|
||||||
PYPI_TOKEN:
|
PYPI_TOKEN:
|
||||||
description: "Token for pushing releases to PyPI."
|
description: "Token for pushing releases to PyPI."
|
||||||
required: false
|
required: false
|
||||||
|
CODECOV_TOKEN:
|
||||||
|
description: "Token for pushing coverage and unittest results to Codecov."
|
||||||
|
required: false
|
||||||
CODACY_PROJECT_TOKEN:
|
CODACY_PROJECT_TOKEN:
|
||||||
description: "Token for pushing coverage results to Codacy."
|
description: "Token for pushing coverage results to Codacy."
|
||||||
required: false
|
required: false
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
ConfigParams:
|
ConfigParams:
|
||||||
uses: pyTooling/Actions/.github/workflows/ExtractConfiguration.yml@main
|
uses: pyTooling/Actions/.github/workflows/ExtractConfiguration.yml@r4
|
||||||
with:
|
with:
|
||||||
package_namespace: ${{ inputs.package_namespace }}
|
package_namespace: ${{ inputs.package_namespace }}
|
||||||
package_name: ${{ inputs.package_name }}
|
package_name: ${{ inputs.package_name }}
|
||||||
|
|
||||||
UnitTestingParams:
|
UnitTestingParams:
|
||||||
uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
|
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r4
|
||||||
with:
|
with:
|
||||||
package_namespace: ${{ inputs.package_namespace }}
|
package_namespace: ${{ inputs.package_namespace }}
|
||||||
package_name: ${{ inputs.package_name }}
|
package_name: ${{ inputs.package_name }}
|
||||||
@@ -121,7 +144,7 @@ jobs:
|
|||||||
disable_list: ${{ inputs.unittest_disable_list }}
|
disable_list: ${{ inputs.unittest_disable_list }}
|
||||||
|
|
||||||
AppTestingParams:
|
AppTestingParams:
|
||||||
uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
|
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r4
|
||||||
with:
|
with:
|
||||||
package_namespace: ${{ inputs.package_namespace }}
|
package_namespace: ${{ inputs.package_namespace }}
|
||||||
package_name: ${{ inputs.package_name }}
|
package_name: ${{ inputs.package_name }}
|
||||||
@@ -133,7 +156,7 @@ jobs:
|
|||||||
disable_list: ${{ inputs.apptest_disable_list }}
|
disable_list: ${{ inputs.apptest_disable_list }}
|
||||||
|
|
||||||
UnitTesting:
|
UnitTesting:
|
||||||
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@main
|
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- ConfigParams
|
- ConfigParams
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
@@ -148,7 +171,7 @@ jobs:
|
|||||||
coverage_sqlite_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}
|
coverage_sqlite_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}
|
||||||
|
|
||||||
StaticTypeCheck:
|
StaticTypeCheck:
|
||||||
uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@main
|
uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- ConfigParams
|
- ConfigParams
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
@@ -161,7 +184,7 @@ jobs:
|
|||||||
html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}
|
html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}
|
||||||
|
|
||||||
DocCoverage:
|
DocCoverage:
|
||||||
uses: pyTooling/Actions/.github/workflows/CheckDocumentation.yml@main
|
uses: pyTooling/Actions/.github/workflows/CheckDocumentation.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- ConfigParams
|
- ConfigParams
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
@@ -171,7 +194,7 @@ jobs:
|
|||||||
# fail_below: 70
|
# fail_below: 70
|
||||||
|
|
||||||
Package:
|
Package:
|
||||||
uses: pyTooling/Actions/.github/workflows/Package.yml@main
|
uses: pyTooling/Actions/.github/workflows/Package.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
- UnitTesting
|
- UnitTesting
|
||||||
@@ -180,7 +203,7 @@ jobs:
|
|||||||
artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }}
|
artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }}
|
||||||
|
|
||||||
# AppTesting:
|
# AppTesting:
|
||||||
# uses: pyTooling/Actions/.github/workflows/ApplicationTesting.yml@main
|
# uses: pyTooling/Actions/.github/workflows/ApplicationTesting.yml@r4
|
||||||
# needs:
|
# needs:
|
||||||
# - AppTestingParams
|
# - AppTestingParams
|
||||||
# - UnitTestingParams
|
# - UnitTestingParams
|
||||||
@@ -191,36 +214,53 @@ jobs:
|
|||||||
# apptest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).apptesting_xml }}
|
# apptest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).apptesting_xml }}
|
||||||
|
|
||||||
PublishCoverageResults:
|
PublishCoverageResults:
|
||||||
uses: pyTooling/Actions/.github/workflows/PublishCoverageResults.yml@main
|
uses: pyTooling/Actions/.github/workflows/PublishCoverageResults.yml@r4
|
||||||
needs:
|
needs:
|
||||||
|
- ConfigParams
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
- UnitTesting
|
- UnitTesting
|
||||||
with:
|
with:
|
||||||
# coverage_sqlite_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}
|
# coverage_sqlite_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}
|
||||||
# coverage_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_xml }}
|
# coverage_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_xml }}
|
||||||
|
# coverage_report_xml_directory: ${{ needs.ConfigParams.outputs.coverage_report_xml_directory }}
|
||||||
|
# coverage_report_xml_filename: ${{ needs.ConfigParams.outputs.coverage_report_xml_filename }}
|
||||||
coverage_json_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }}
|
coverage_json_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }}
|
||||||
|
coverage_report_json_directory: ${{ needs.ConfigParams.outputs.coverage_report_json_directory }}
|
||||||
|
coverage_report_json_filename: ${{ needs.ConfigParams.outputs.coverage_report_json_filename }}
|
||||||
coverage_html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }}
|
coverage_html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }}
|
||||||
|
coverage_report_html_directory: ${{ needs.ConfigParams.outputs.coverage_report_html_directory }}
|
||||||
|
codecov: ${{ inputs.codecov }}
|
||||||
|
codacy: ${{ inputs.codacy }}
|
||||||
secrets:
|
secrets:
|
||||||
codacy_token: ${{ secrets.CODACY_PROJECT_TOKEN }}
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||||
|
CODACY_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }}
|
||||||
|
|
||||||
PublishTestResults:
|
PublishTestResults:
|
||||||
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@main
|
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@r4
|
||||||
needs:
|
needs:
|
||||||
|
- ConfigParams
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
- UnitTesting
|
- UnitTesting
|
||||||
with:
|
with:
|
||||||
additional_merge_args: '-d "--pytest=rewrite-dunder-init;reduce-depth:pytest.tests.unit"'
|
additional_merge_args: '-d "--pytest=rewrite-dunder-init;reduce-depth:pytest.tests.unit"'
|
||||||
|
testsuite-summary-name: ${{ inputs.package_name }}
|
||||||
|
merged_junit_filename: ${{ needs.ConfigParams.outputs.unittest_merged_report_xml_filename }}
|
||||||
merged_junit_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}
|
merged_junit_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}
|
||||||
|
dorny: ${{ inputs.dorny }}
|
||||||
|
codecov: ${{ inputs.codecov }}
|
||||||
|
|
||||||
|
secrets:
|
||||||
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||||
|
|
||||||
# VerifyDocs:
|
# VerifyDocs:
|
||||||
# uses: pyTooling/Actions/.github/workflows/VerifyDocs.yml@main
|
# uses: pyTooling/Actions/.github/workflows/VerifyDocs.yml@r4
|
||||||
# needs:
|
# needs:
|
||||||
# - UnitTestingParams
|
# - UnitTestingParams
|
||||||
# with:
|
# with:
|
||||||
# python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
|
# python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
|
||||||
|
|
||||||
Documentation:
|
Documentation:
|
||||||
uses: pyTooling/Actions/.github/workflows/SphinxDocumentation.yml@main
|
uses: pyTooling/Actions/.github/workflows/SphinxDocumentation.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- ConfigParams
|
- ConfigParams
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
@@ -230,24 +270,25 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
|
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
|
||||||
coverage_report_json_directory: ${{ needs.ConfigParams.outputs.coverage_report_json_directory }}
|
coverage_report_json_directory: ${{ needs.ConfigParams.outputs.coverage_report_json_directory }}
|
||||||
unittest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}-ubuntu-native-3.12
|
unittest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}
|
||||||
coverage_json_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }}
|
coverage_json_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }}
|
||||||
html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_html }}
|
html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_html }}
|
||||||
latex_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }}
|
latex_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }}
|
||||||
|
|
||||||
IntermediateCleanUp:
|
IntermediateCleanUp:
|
||||||
uses: pyTooling/Actions/.github/workflows/IntermediateCleanUp.yml@main
|
uses: pyTooling/Actions/.github/workflows/IntermediateCleanUp.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
- PublishCoverageResults
|
- PublishCoverageResults
|
||||||
- PublishTestResults
|
- PublishTestResults
|
||||||
- Documentation
|
- Documentation
|
||||||
|
if: ${{ inputs.cleanup }}
|
||||||
with:
|
with:
|
||||||
sqlite_coverage_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}-
|
sqlite_coverage_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}-
|
||||||
xml_unittest_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}-
|
xml_unittest_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}-
|
||||||
|
|
||||||
# PDFDocumentation:
|
# PDFDocumentation:
|
||||||
# uses: pyTooling/Actions/.github/workflows/LaTeXDocumentation.yml@main
|
# uses: pyTooling/Actions/.github/workflows/LaTeXDocumentation.yml@r4
|
||||||
# needs:
|
# needs:
|
||||||
# - UnitTestingParams
|
# - UnitTestingParams
|
||||||
# - Documentation
|
# - Documentation
|
||||||
@@ -257,7 +298,7 @@ jobs:
|
|||||||
# pdf_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_pdf }}
|
# pdf_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_pdf }}
|
||||||
|
|
||||||
PublishToGitHubPages:
|
PublishToGitHubPages:
|
||||||
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@main
|
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
- Documentation
|
- Documentation
|
||||||
@@ -270,7 +311,7 @@ jobs:
|
|||||||
typing: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}
|
typing: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}
|
||||||
|
|
||||||
ReleasePage:
|
ReleasePage:
|
||||||
uses: pyTooling/Actions/.github/workflows/Release.yml@main
|
uses: pyTooling/Actions/.github/workflows/Release.yml@r4
|
||||||
if: startsWith(github.ref, 'refs/tags')
|
if: startsWith(github.ref, 'refs/tags')
|
||||||
needs:
|
needs:
|
||||||
- Package
|
- Package
|
||||||
@@ -278,7 +319,7 @@ jobs:
|
|||||||
- PublishToGitHubPages
|
- PublishToGitHubPages
|
||||||
|
|
||||||
PublishOnPyPI:
|
PublishOnPyPI:
|
||||||
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@main
|
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@r4
|
||||||
if: startsWith(github.ref, 'refs/tags')
|
if: startsWith(github.ref, 'refs/tags')
|
||||||
needs:
|
needs:
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
@@ -291,7 +332,7 @@ jobs:
|
|||||||
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
|
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
|
||||||
|
|
||||||
ArtifactCleanUp:
|
ArtifactCleanUp:
|
||||||
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@main
|
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
- UnitTesting
|
- UnitTesting
|
||||||
@@ -303,6 +344,7 @@ jobs:
|
|||||||
- PublishToGitHubPages
|
- PublishToGitHubPages
|
||||||
# - PublishOnPyPI
|
# - PublishOnPyPI
|
||||||
- IntermediateCleanUp
|
- IntermediateCleanUp
|
||||||
|
if: ${{ inputs.cleanup }}
|
||||||
with:
|
with:
|
||||||
package: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }}
|
package: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }}
|
||||||
remaining: |
|
remaining: |
|
||||||
|
|||||||
20
.github/workflows/ExtractConfiguration.yml
vendored
20
.github/workflows/ExtractConfiguration.yml
vendored
@@ -32,7 +32,7 @@ on:
|
|||||||
python_version:
|
python_version:
|
||||||
description: 'Python version.'
|
description: 'Python version.'
|
||||||
required: false
|
required: false
|
||||||
default: '3.12'
|
default: '3.13'
|
||||||
type: string
|
type: string
|
||||||
package_namespace:
|
package_namespace:
|
||||||
description: 'Name of the tool''s namespace.'
|
description: 'Name of the tool''s namespace.'
|
||||||
@@ -68,6 +68,15 @@ on:
|
|||||||
unittest_report_xml:
|
unittest_report_xml:
|
||||||
description: ""
|
description: ""
|
||||||
value: ${{ jobs.Extract.outputs.unittest_report_xml }}
|
value: ${{ jobs.Extract.outputs.unittest_report_xml }}
|
||||||
|
unittest_merged_report_xml_directory:
|
||||||
|
description: ""
|
||||||
|
value: ${{ jobs.Extract.outputs.unittest_merged_report_xml_directory }}
|
||||||
|
unittest_merged_report_xml_filename:
|
||||||
|
description: ""
|
||||||
|
value: ${{ jobs.Extract.outputs.unittest_merged_report_xml_filename }}
|
||||||
|
unittest_merged_report_xml:
|
||||||
|
description: ""
|
||||||
|
value: ${{ jobs.Extract.outputs.unittest_merged_report_xml }}
|
||||||
coverage_report_html_directory:
|
coverage_report_html_directory:
|
||||||
description: ""
|
description: ""
|
||||||
value: ${{ jobs.Extract.outputs.coverage_report_html_directory }}
|
value: ${{ jobs.Extract.outputs.coverage_report_html_directory }}
|
||||||
@@ -101,6 +110,9 @@ jobs:
|
|||||||
unittest_report_xml_directory: ${{ steps.getVariables.outputs.unittest_report_xml_directory }}
|
unittest_report_xml_directory: ${{ steps.getVariables.outputs.unittest_report_xml_directory }}
|
||||||
unittest_report_xml_filename: ${{ steps.getVariables.outputs.unittest_report_xml_filename }}
|
unittest_report_xml_filename: ${{ steps.getVariables.outputs.unittest_report_xml_filename }}
|
||||||
unittest_report_xml: ${{ steps.getVariables.outputs.unittest_report_xml }}
|
unittest_report_xml: ${{ steps.getVariables.outputs.unittest_report_xml }}
|
||||||
|
unittest_merged_report_xml_directory: ${{ steps.getVariables.outputs.unittest_merged_report_xml_directory }}
|
||||||
|
unittest_merged_report_xml_filename: ${{ steps.getVariables.outputs.unittest_merged_report_xml_filename }}
|
||||||
|
unittest_merged_report_xml: ${{ steps.getVariables.outputs.unittest_merged_report_xml }}
|
||||||
coverage_report_html_directory: ${{ steps.getVariables.outputs.coverage_report_html_directory }}
|
coverage_report_html_directory: ${{ steps.getVariables.outputs.coverage_report_html_directory }}
|
||||||
coverage_report_xml_directory: ${{ steps.getVariables.outputs.coverage_report_xml_directory }}
|
coverage_report_xml_directory: ${{ steps.getVariables.outputs.coverage_report_xml_directory }}
|
||||||
coverage_report_xml_filename: ${{ steps.getVariables.outputs.coverage_report_xml_filename }}
|
coverage_report_xml_filename: ${{ steps.getVariables.outputs.coverage_report_xml_filename }}
|
||||||
@@ -178,6 +190,7 @@ jobs:
|
|||||||
pyProjectSettings = tomli_load(file)
|
pyProjectSettings = tomli_load(file)
|
||||||
|
|
||||||
unittestXMLFile = Path(pyProjectSettings["tool"]["pytest"]["junit_xml"])
|
unittestXMLFile = Path(pyProjectSettings["tool"]["pytest"]["junit_xml"])
|
||||||
|
mergedUnittestXMLFile = Path(pyProjectSettings["tool"]["pyedaa-reports"]["junit_xml"])
|
||||||
coverageHTMLDirectory = Path(pyProjectSettings["tool"]["coverage"]["html"]["directory"])
|
coverageHTMLDirectory = Path(pyProjectSettings["tool"]["coverage"]["html"]["directory"])
|
||||||
coverageXMLFile = Path(pyProjectSettings["tool"]["coverage"]["xml"]["output"])
|
coverageXMLFile = Path(pyProjectSettings["tool"]["coverage"]["xml"]["output"])
|
||||||
coverageJSONFile= Path(pyProjectSettings["tool"]["coverage"]["json"]["output"])
|
coverageJSONFile= Path(pyProjectSettings["tool"]["coverage"]["json"]["output"])
|
||||||
@@ -209,6 +222,9 @@ jobs:
|
|||||||
unittest_report_xml_directory={unittestXMLFile.parent.as_posix()}
|
unittest_report_xml_directory={unittestXMLFile.parent.as_posix()}
|
||||||
unittest_report_xml_filename={unittestXMLFile.name}
|
unittest_report_xml_filename={unittestXMLFile.name}
|
||||||
unittest_report_xml={unittestXMLFile.as_posix()}
|
unittest_report_xml={unittestXMLFile.as_posix()}
|
||||||
|
unittest_merged_report_xml_directory={mergedUnittestXMLFile.parent.as_posix()}
|
||||||
|
unittest_merged_report_xml_filename={mergedUnittestXMLFile.name}
|
||||||
|
unittest_merged_report_xml={mergedUnittestXMLFile.as_posix()}
|
||||||
coverage_report_html_directory={coverageHTMLDirectory.as_posix()}
|
coverage_report_html_directory={coverageHTMLDirectory.as_posix()}
|
||||||
coverage_report_xml_directory={coverageXMLFile.parent.as_posix()}
|
coverage_report_xml_directory={coverageXMLFile.parent.as_posix()}
|
||||||
coverage_report_xml_filename={coverageXMLFile.name}
|
coverage_report_xml_filename={coverageXMLFile.name}
|
||||||
@@ -218,4 +234,4 @@ jobs:
|
|||||||
coverage_report_json={coverageJSONFile.as_posix()}
|
coverage_report_json={coverageJSONFile.as_posix()}
|
||||||
"""))
|
"""))
|
||||||
|
|
||||||
print(f"DEBUG:\n unittest xml: {unittestXMLFile}\n coverage html: {coverageHTMLDirectory}\n coverage xml: {coverageXMLFile}\n coverage json: {coverageJSONFile}")
|
print(f"DEBUG:\n unittest xml: {unittestXMLFile}\n merged unittest xml: {mergedUnittestXMLFile}\n coverage html: {coverageHTMLDirectory}\n coverage xml: {coverageXMLFile}\n coverage json: {coverageJSONFile}")
|
||||||
|
|||||||
49
.github/workflows/NightlyRelease.yml
vendored
49
.github/workflows/NightlyRelease.yml
vendored
@@ -84,11 +84,16 @@ on:
|
|||||||
type: string
|
type: string
|
||||||
required: false
|
required: false
|
||||||
default: '__pyTooling_upload_artifact__.tar'
|
default: '__pyTooling_upload_artifact__.tar'
|
||||||
|
can-fail:
|
||||||
|
type: boolean
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
Release:
|
Release:
|
||||||
name: 📝 Update 'Nightly Page' on GitHub
|
name: 📝 Update 'Nightly Page' on GitHub
|
||||||
runs-on: ${{ inputs.ubuntu_image }}
|
runs-on: ${{ inputs.ubuntu_image }}
|
||||||
|
continue-on-error: ${{ inputs.can-fail }}
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
actions: write
|
actions: write
|
||||||
@@ -124,7 +129,7 @@ jobs:
|
|||||||
printf "%s\n" "${ANSI_LIGHT_YELLOW}[NOT FOUND]${ANSI_NOCOLOR}"
|
printf "%s\n" "${ANSI_LIGHT_YELLOW}[NOT FOUND]${ANSI_NOCOLOR}"
|
||||||
else
|
else
|
||||||
printf "%s\n" "${ANSI_LIGHT_RED}[FAILED]${ANSI_NOCOLOR}"
|
printf "%s\n" "${ANSI_LIGHT_RED}[FAILED]${ANSI_NOCOLOR}"
|
||||||
printf "%s\n" "${ANSI_LIGHT_RED}Couldn't delete release '${{ inputs.nightly_name }}' -> Error: '${message}'.${ANSI_NOCOLOR}"
|
printf " %s\n" "${ANSI_LIGHT_RED}Couldn't delete release '${{ inputs.nightly_name }}' -> Error: '${message}'.${ANSI_NOCOLOR}"
|
||||||
printf "%s\n" "::error title=InternalError::Couldn't delete release '${{ inputs.nightly_name }}' -> Error: '${message}'."
|
printf "%s\n" "::error title=InternalError::Couldn't delete release '${{ inputs.nightly_name }}' -> Error: '${message}'."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@@ -184,7 +189,7 @@ jobs:
|
|||||||
printf "%s\n" "${ANSI_LIGHT_GREEN}[OK]${ANSI_NOCOLOR}"
|
printf "%s\n" "${ANSI_LIGHT_GREEN}[OK]${ANSI_NOCOLOR}"
|
||||||
else
|
else
|
||||||
printf "%s\n" "${ANSI_LIGHT_RED}[FAILED]${ANSI_NOCOLOR}"
|
printf "%s\n" "${ANSI_LIGHT_RED}[FAILED]${ANSI_NOCOLOR}"
|
||||||
printf "%s\n" "${ANSI_LIGHT_RED}Couldn't create release '${{ inputs.nightly_name }}' -> Error: '${message}'.${ANSI_NOCOLOR}"
|
printf " %s\n" "${ANSI_LIGHT_RED}Couldn't create release '${{ inputs.nightly_name }}' -> Error: '${message}'.${ANSI_NOCOLOR}"
|
||||||
printf "%s\n" "::error title=InternalError::Couldn't create release '${{ inputs.nightly_name }}' -> Error: '${message}'."
|
printf "%s\n" "::error title=InternalError::Couldn't create release '${{ inputs.nightly_name }}' -> Error: '${message}'."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@@ -197,7 +202,7 @@ jobs:
|
|||||||
ANSI_LIGHT_RED=$'\x1b[91m'
|
ANSI_LIGHT_RED=$'\x1b[91m'
|
||||||
ANSI_LIGHT_GREEN=$'\x1b[92m'
|
ANSI_LIGHT_GREEN=$'\x1b[92m'
|
||||||
ANSI_LIGHT_YELLOW=$'\x1b[93m'
|
ANSI_LIGHT_YELLOW=$'\x1b[93m'
|
||||||
ANSI_LIGHT_BLUE="\e[94m"
|
ANSI_LIGHT_BLUE=$'\x1b[94m'
|
||||||
ANSI_NOCOLOR=$'\x1b[0m'
|
ANSI_NOCOLOR=$'\x1b[0m'
|
||||||
|
|
||||||
export GH_TOKEN=${{ github.token }}
|
export GH_TOKEN=${{ github.token }}
|
||||||
@@ -254,7 +259,7 @@ jobs:
|
|||||||
# A dictionary to check for duplicate asset files in release
|
# A dictionary to check for duplicate asset files in release
|
||||||
declare -A assetFilenames
|
declare -A assetFilenames
|
||||||
while IFS=$'\r\n' read -r assetLine; do
|
while IFS=$'\r\n' read -r assetLine; do
|
||||||
if [[ "${assetLine}" == "" ]]; then
|
if [[ "${assetLine}" == "" || "${assetLine:0:1}" == "#" ]]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -285,7 +290,7 @@ jobs:
|
|||||||
if [[ -n "${assetFilenames[$asset]}" ]]; then
|
if [[ -n "${assetFilenames[$asset]}" ]]; then
|
||||||
printf "%s\n" "${ANSI_LIGHT_RED}[ERROR]${ANSI_NOCOLOR}"
|
printf "%s\n" "${ANSI_LIGHT_RED}[ERROR]${ANSI_NOCOLOR}"
|
||||||
printf "%s\n" "::error title=DuplicateAsset::Asset '${asset}' from artifact '${artifact}' was already uploaded to release '${{ inputs.nightly_name }}'."
|
printf "%s\n" "::error title=DuplicateAsset::Asset '${asset}' from artifact '${artifact}' was already uploaded to release '${{ inputs.nightly_name }}'."
|
||||||
ERRORS=1
|
ERRORS=$((ERRORS + 1))
|
||||||
continue
|
continue
|
||||||
else
|
else
|
||||||
printf "%s\n" "${ANSI_LIGHT_GREEN}[OK]${ANSI_NOCOLOR}"
|
printf "%s\n" "${ANSI_LIGHT_GREEN}[OK]${ANSI_NOCOLOR}"
|
||||||
@@ -303,9 +308,9 @@ jobs:
|
|||||||
printf "%s\n" "${ANSI_LIGHT_GREEN}[OK]${ANSI_NOCOLOR}"
|
printf "%s\n" "${ANSI_LIGHT_GREEN}[OK]${ANSI_NOCOLOR}"
|
||||||
else
|
else
|
||||||
printf "%s\n" "${ANSI_LIGHT_RED}[ERROR]${ANSI_NOCOLOR}"
|
printf "%s\n" "${ANSI_LIGHT_RED}[ERROR]${ANSI_NOCOLOR}"
|
||||||
printf "%s\n" "${ANSI_LIGHT_RED}Couldn't download artifact '${artifact}'.${ANSI_NOCOLOR}"
|
printf " %s\n" "${ANSI_LIGHT_RED}Couldn't download artifact '${artifact}'.${ANSI_NOCOLOR}"
|
||||||
printf "%s\n" "::error title=ArtifactNotFound::Couldn't download artifact '${artifact}'."
|
printf "%s\n" "::error title=ArtifactNotFound::Couldn't download artifact '${artifact}'."
|
||||||
ERRORS=1
|
ERRORS=$((ERRORS + 1))
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
downloadedArtifacts[$artifact]=1
|
downloadedArtifacts[$artifact]=1
|
||||||
@@ -355,9 +360,9 @@ jobs:
|
|||||||
uploadFile="${asset}"
|
uploadFile="${asset}"
|
||||||
else
|
else
|
||||||
printf " %s\n" "Compression ${ANSI_LIGHT_RED}[ERROR]${ANSI_NOCOLOR}"
|
printf " %s\n" "Compression ${ANSI_LIGHT_RED}[ERROR]${ANSI_NOCOLOR}"
|
||||||
printf "%s\n" "${ANSI_LIGHT_RED}Couldn't compress '${artifact}' to zip file '${asset}'.${ANSI_NOCOLOR}"
|
printf " %s\n" "${ANSI_LIGHT_RED}Couldn't compress '${artifact}' to zip file '${asset}'.${ANSI_NOCOLOR}"
|
||||||
printf "%s\n" "::error title=CompressionError::Couldn't compress '${artifact}' to zip file '${asset}'."
|
printf "%s\n" "::error title=CompressionError::Couldn't compress '${artifact}' to zip file '${asset}'."
|
||||||
ERRORS=1
|
ERRORS=$((ERRORS + 1))
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
elif [[ "${asset}" == !*.tgz || "${asset}" == !*.tar.gz || "${asset}" == \$*.tgz || "${asset}" == \$*.tar.gz ]]; then
|
elif [[ "${asset}" == !*.tgz || "${asset}" == !*.tar.gz || "${asset}" == \$*.tgz || "${asset}" == \$*.tar.gz ]]; then
|
||||||
@@ -384,9 +389,9 @@ jobs:
|
|||||||
uploadFile="${asset}"
|
uploadFile="${asset}"
|
||||||
else
|
else
|
||||||
printf " %s\n" "Compression ${ANSI_LIGHT_RED}[ERROR]${ANSI_NOCOLOR}"
|
printf " %s\n" "Compression ${ANSI_LIGHT_RED}[ERROR]${ANSI_NOCOLOR}"
|
||||||
printf "%s\n" "${ANSI_LIGHT_RED}Couldn't compress '${artifact}' to tgz file '${asset}'.${ANSI_NOCOLOR}"
|
printf " %s\n" "${ANSI_LIGHT_RED}Couldn't compress '${artifact}' to tgz file '${asset}'.${ANSI_NOCOLOR}"
|
||||||
printf "%s\n" "::error title=CompressionError::Couldn't compress '${artifact}' to tgz file '${asset}'."
|
printf "%s\n" "::error title=CompressionError::Couldn't compress '${artifact}' to tgz file '${asset}'."
|
||||||
ERRORS=1
|
ERRORS=$((ERRORS + 1))
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
elif [[ "${asset}" == !*.tzst || "${asset}" == !*.tar.zst || "${asset}" == \$*.tzst || "${asset}" == \$*.tar.zst ]]; then
|
elif [[ "${asset}" == !*.tzst || "${asset}" == !*.tar.zst || "${asset}" == \$*.tzst || "${asset}" == \$*.tar.zst ]]; then
|
||||||
@@ -413,9 +418,9 @@ jobs:
|
|||||||
uploadFile="${asset}"
|
uploadFile="${asset}"
|
||||||
else
|
else
|
||||||
printf " %s\n" "Compression ${ANSI_LIGHT_RED}[ERROR]${ANSI_NOCOLOR}"
|
printf " %s\n" "Compression ${ANSI_LIGHT_RED}[ERROR]${ANSI_NOCOLOR}"
|
||||||
printf "%s\n" "${ANSI_LIGHT_RED}Couldn't compress '${artifact}' to zst file '${asset}'.${ANSI_NOCOLOR}"
|
printf " %s\n" "${ANSI_LIGHT_RED}Couldn't compress '${artifact}' to zst file '${asset}'.${ANSI_NOCOLOR}"
|
||||||
printf "%s\n" "::error title=CompressionError::Couldn't compress '${artifact}' to zst file '${asset}'."
|
printf "%s\n" "::error title=CompressionError::Couldn't compress '${artifact}' to zst file '${asset}'."
|
||||||
ERRORS=1
|
ERRORS=$((ERRORS + 1))
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
elif [[ -e "${artifact}/${asset}" ]]; then
|
elif [[ -e "${artifact}/${asset}" ]]; then
|
||||||
@@ -423,9 +428,9 @@ jobs:
|
|||||||
uploadFile="${artifact}/${asset}"
|
uploadFile="${artifact}/${asset}"
|
||||||
else
|
else
|
||||||
printf "%s\n" "${ANSI_LIGHT_RED}[ERROR]${ANSI_NOCOLOR}"
|
printf "%s\n" "${ANSI_LIGHT_RED}[ERROR]${ANSI_NOCOLOR}"
|
||||||
printf "%s\n" "${ANSI_LIGHT_RED}Couldn't find asset '${asset}' in artifact '${artifact}'.${ANSI_NOCOLOR}"
|
printf " %s\n" "${ANSI_LIGHT_RED}Couldn't find asset '${asset}' in artifact '${artifact}'.${ANSI_NOCOLOR}"
|
||||||
printf "%s\n" "::error title=FileNotFound::Couldn't find asset '${asset}' in artifact '${artifact}'."
|
printf "%s\n" "::error title=FileNotFound::Couldn't find asset '${asset}' in artifact '${artifact}'."
|
||||||
ERRORS=1
|
ERRORS=$((ERRORS + 1))
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -463,9 +468,9 @@ jobs:
|
|||||||
printf "%s\n" "${ANSI_LIGHT_GREEN}[OK]${ANSI_NOCOLOR}"
|
printf "%s\n" "${ANSI_LIGHT_GREEN}[OK]${ANSI_NOCOLOR}"
|
||||||
else
|
else
|
||||||
printf "%s\n" "${ANSI_LIGHT_RED}[ERROR]${ANSI_NOCOLOR}"
|
printf "%s\n" "${ANSI_LIGHT_RED}[ERROR]${ANSI_NOCOLOR}"
|
||||||
printf "%s\n" "${ANSI_LIGHT_RED}Couldn't upload asset '${asset}' from '${uploadFile}' to release '${{ inputs.nightly_name }}'.${ANSI_NOCOLOR}"
|
printf " %s\n" "${ANSI_LIGHT_RED}Couldn't upload asset '${asset}' from '${uploadFile}' to release '${{ inputs.nightly_name }}'.${ANSI_NOCOLOR}"
|
||||||
printf "%s\n" "::error title=UploadError::Couldn't upload asset '${asset}' from '${uploadFile}' to release '${{ inputs.nightly_name }}'."
|
printf "%s\n" "::error title=UploadError::Couldn't upload asset '${asset}' from '${uploadFile}' to release '${{ inputs.nightly_name }}'."
|
||||||
ERRORS=1
|
ERRORS=$((ERRORS + 1))
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
done <<<'${{ inputs.assets }}'
|
done <<<'${{ inputs.assets }}'
|
||||||
@@ -486,9 +491,9 @@ jobs:
|
|||||||
printf "%s\n" "${ANSI_LIGHT_GREEN}[OK]${ANSI_NOCOLOR}"
|
printf "%s\n" "${ANSI_LIGHT_GREEN}[OK]${ANSI_NOCOLOR}"
|
||||||
else
|
else
|
||||||
printf "%s\n" "${ANSI_LIGHT_RED}[ERROR]${ANSI_NOCOLOR}"
|
printf "%s\n" "${ANSI_LIGHT_RED}[ERROR]${ANSI_NOCOLOR}"
|
||||||
printf "%s\n" "${ANSI_LIGHT_RED}Couldn't upload asset '${{ inputs.inventory-json }}' to release '${{ inputs.nightly_name }}'.${ANSI_NOCOLOR}"
|
printf " %s\n" "${ANSI_LIGHT_RED}Couldn't upload asset '${{ inputs.inventory-json }}' to release '${{ inputs.nightly_name }}'.${ANSI_NOCOLOR}"
|
||||||
printf "%s\n" "::error title=UploadError::Couldn't upload asset '${{ inputs.inventory-json }}' to release '${{ inputs.nightly_name }}'."
|
printf "%s\n" "::error title=UploadError::Couldn't upload asset '${{ inputs.inventory-json }}' to release '${{ inputs.nightly_name }}'."
|
||||||
ERRORS=1
|
ERRORS=$((ERRORS + 1))
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -497,8 +502,8 @@ jobs:
|
|||||||
tree -pash -L 3 .
|
tree -pash -L 3 .
|
||||||
printf "::endgroup::\n"
|
printf "::endgroup::\n"
|
||||||
|
|
||||||
if [[ $ERROR -ne 0 ]]; then
|
if [[ $ERRORS -ne 0 ]]; then
|
||||||
printf "%s\n" "${ANSI_LIGHT_RED}Errors detected in previous steps.${ANSI_NOCOLOR}"
|
printf "%s\n" "${ANSI_LIGHT_RED}${ERRORS} errors detected in previous steps.${ANSI_NOCOLOR}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -520,6 +525,6 @@ jobs:
|
|||||||
printf "%s\n" "${ANSI_LIGHT_GREEN}[OK]${ANSI_NOCOLOR}"
|
printf "%s\n" "${ANSI_LIGHT_GREEN}[OK]${ANSI_NOCOLOR}"
|
||||||
else
|
else
|
||||||
printf "%s\n" "${ANSI_LIGHT_RED}[ERROR]${ANSI_NOCOLOR}"
|
printf "%s\n" "${ANSI_LIGHT_RED}[ERROR]${ANSI_NOCOLOR}"
|
||||||
printf "%s\n" "${ANSI_LIGHT_RED}Couldn't remove draft-state from release '${{ inputs.nightly_name }}'.${ANSI_NOCOLOR}"
|
printf " %s\n" "${ANSI_LIGHT_RED}Couldn't remove draft-state from release '${{ inputs.nightly_name }}'.${ANSI_NOCOLOR}"
|
||||||
printf "%s\n" "::error title=ReleasePage::Couldn't remove draft-state from release '${{ inputs.nightly_name }}'."
|
printf "%s\n" "::error title=ReleasePage::Couldn't remove draft-state from release '${{ inputs.nightly_name }}'."
|
||||||
fi
|
fi
|
||||||
|
|||||||
2
.github/workflows/Package.yml
vendored
2
.github/workflows/Package.yml
vendored
@@ -33,7 +33,7 @@ on:
|
|||||||
python_version:
|
python_version:
|
||||||
description: 'Python version.'
|
description: 'Python version.'
|
||||||
required: false
|
required: false
|
||||||
default: '3.12'
|
default: '3.13'
|
||||||
type: string
|
type: string
|
||||||
requirements:
|
requirements:
|
||||||
description: 'Python dependencies to be installed through pip; if empty, use pyproject.toml through build.'
|
description: 'Python dependencies to be installed through pip; if empty, use pyproject.toml through build.'
|
||||||
|
|||||||
7
.github/workflows/Parameters.yml
vendored
7
.github/workflows/Parameters.yml
vendored
@@ -197,9 +197,10 @@ jobs:
|
|||||||
"3.13": { "icon": "🟢", "until": "2029.10" },
|
"3.13": { "icon": "🟢", "until": "2029.10" },
|
||||||
"3.14": { "icon": "🟣", "until": "2030.10" },
|
"3.14": { "icon": "🟣", "until": "2030.10" },
|
||||||
"pypy-3.7": { "icon": "⟲⚫", "until": "????.??" },
|
"pypy-3.7": { "icon": "⟲⚫", "until": "????.??" },
|
||||||
"pypy-3.8": { "icon": "⟲🔴", "until": "????.??" },
|
"pypy-3.8": { "icon": "⟲⚫", "until": "????.??" },
|
||||||
"pypy-3.9": { "icon": "⟲🟠", "until": "????.??" },
|
"pypy-3.9": { "icon": "⟲🔴", "until": "????.??" },
|
||||||
"pypy-3.10": { "icon": "⟲🟡", "until": "????.??" },
|
"pypy-3.10": { "icon": "⟲🟠", "until": "????.??" },
|
||||||
|
"pypy-3.11": { "icon": "⟲🟡", "until": "????.??" },
|
||||||
},
|
},
|
||||||
# Runner systems (runner images) supported by GitHub Actions
|
# Runner systems (runner images) supported by GitHub Actions
|
||||||
"sys": {
|
"sys": {
|
||||||
|
|||||||
125
.github/workflows/PublishCoverageResults.yml
vendored
125
.github/workflows/PublishCoverageResults.yml
vendored
@@ -48,19 +48,57 @@ on:
|
|||||||
required: false
|
required: false
|
||||||
default: ''
|
default: ''
|
||||||
type: string
|
type: string
|
||||||
|
coverage_report_xml_directory:
|
||||||
|
description: 'Directory containing the XML coverage report file.'
|
||||||
|
required: false
|
||||||
|
default: 'report/coverage'
|
||||||
|
type: string
|
||||||
|
coverage_report_xml_filename:
|
||||||
|
description: 'Filename of the XML coverage report file.'
|
||||||
|
required: false
|
||||||
|
default: 'coverage.xml'
|
||||||
|
type: string
|
||||||
coverage_json_artifact:
|
coverage_json_artifact:
|
||||||
description: 'Name of the JSON coverage artifact.'
|
description: 'Name of the JSON coverage artifact.'
|
||||||
required: false
|
required: false
|
||||||
default: ''
|
default: ''
|
||||||
type: string
|
type: string
|
||||||
|
coverage_report_json_directory:
|
||||||
|
description: 'Directory containing the JSON coverage report file.'
|
||||||
|
required: false
|
||||||
|
default: 'report/coverage'
|
||||||
|
type: string
|
||||||
|
coverage_report_json_filename:
|
||||||
|
description: 'Filename of the JSON coverage report file.'
|
||||||
|
required: false
|
||||||
|
default: 'coverage.json'
|
||||||
|
type: string
|
||||||
coverage_html_artifact:
|
coverage_html_artifact:
|
||||||
description: 'Name of the HTML coverage artifact.'
|
description: 'Name of the HTML coverage artifact.'
|
||||||
required: false
|
required: false
|
||||||
default: ''
|
default: ''
|
||||||
type: string
|
type: string
|
||||||
|
coverage_report_html_directory:
|
||||||
|
description: 'HTML root directory of the generated coverage report.'
|
||||||
|
required: false
|
||||||
|
default: 'report/coverage/html'
|
||||||
|
type: string
|
||||||
|
codecov:
|
||||||
|
description: 'Publish merged coverage report to Codecov.'
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
codacy:
|
||||||
|
description: 'Publish merged coverage report to Codacy.'
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
secrets:
|
secrets:
|
||||||
codacy_token:
|
CODECOV_TOKEN:
|
||||||
description: 'Token to push result to codacy.'
|
description: 'Token to push result to Codecov.'
|
||||||
|
required: true
|
||||||
|
CODACY_TOKEN:
|
||||||
|
description: 'Token to push result to Codacy.'
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@@ -90,66 +128,6 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
python -m pip install -U --disable-pip-version-check --break-system-packages coverage[toml] tomli
|
python -m pip install -U --disable-pip-version-check --break-system-packages coverage[toml] tomli
|
||||||
|
|
||||||
- name: 🔁 Extract configurations from pyproject.toml
|
|
||||||
id: getVariables
|
|
||||||
shell: python
|
|
||||||
run: |
|
|
||||||
from os import getenv
|
|
||||||
from pathlib import Path
|
|
||||||
from sys import version
|
|
||||||
from textwrap import dedent
|
|
||||||
|
|
||||||
print(f"Python: {version}")
|
|
||||||
|
|
||||||
from tomli import load as tomli_load
|
|
||||||
|
|
||||||
htmlDirectory = Path("htmlcov")
|
|
||||||
xmlFile = Path("./coverage.xml")
|
|
||||||
jsonFile = Path("./coverage.json")
|
|
||||||
coverageRC = "${{ inputs.coverage_config }}".strip()
|
|
||||||
|
|
||||||
# Read output paths from 'pyproject.toml' file
|
|
||||||
if coverageRC == "pyproject.toml":
|
|
||||||
pyProjectFile = Path("pyproject.toml")
|
|
||||||
if pyProjectFile.exists():
|
|
||||||
with pyProjectFile.open("rb") as file:
|
|
||||||
pyProjectSettings = tomli_load(file)
|
|
||||||
|
|
||||||
htmlDirectory = Path(pyProjectSettings["tool"]["coverage"]["html"]["directory"])
|
|
||||||
xmlFile = Path(pyProjectSettings["tool"]["coverage"]["xml"]["output"])
|
|
||||||
jsonFile = Path(pyProjectSettings["tool"]["coverage"]["json"]["output"])
|
|
||||||
else:
|
|
||||||
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:
|
|
||||||
coverageRCFile = Path(coverageRC)
|
|
||||||
if coverageRCFile.exists():
|
|
||||||
with coverageRCFile.open("rb") as file:
|
|
||||||
coverageRCSettings = tomli_load(file)
|
|
||||||
|
|
||||||
htmlDirectory = Path(coverageRCSettings["html"]["directory"])
|
|
||||||
xmlFile = Path(coverageRCSettings["xml"]["output"])
|
|
||||||
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"))
|
|
||||||
print(f"GITHUB_OUTPUT: {github_output}")
|
|
||||||
with github_output.open("a+", encoding="utf-8") as f:
|
|
||||||
f.write(dedent(f"""\
|
|
||||||
coverage_report_html_directory={htmlDirectory.as_posix()}
|
|
||||||
coverage_report_xml={xmlFile}
|
|
||||||
coverage_report_json={jsonFile}
|
|
||||||
"""))
|
|
||||||
|
|
||||||
print(f"DEBUG:\n html={htmlDirectory}\n xml={xmlFile}\n json={jsonFile}")
|
|
||||||
|
|
||||||
- name: Rename .coverage files and move them all into 'coverage/'
|
- name: Rename .coverage files and move them all into 'coverage/'
|
||||||
run: |
|
run: |
|
||||||
mkdir -p coverage
|
mkdir -p coverage
|
||||||
@@ -163,7 +141,7 @@ jobs:
|
|||||||
run: coverage report --rcfile=pyproject.toml --data-file=.coverage
|
run: coverage report --rcfile=pyproject.toml --data-file=.coverage
|
||||||
|
|
||||||
- name: Convert to XML format (Cobertura)
|
- name: Convert to XML format (Cobertura)
|
||||||
if: inputs.coverage_xml_artifact != ''
|
if: inputs.coverage_xml_artifact != '' || inputs.codecov || inputs.codacy
|
||||||
run: coverage xml --data-file=.coverage
|
run: coverage xml --data-file=.coverage
|
||||||
|
|
||||||
- name: Convert to JSON format
|
- name: Convert to JSON format
|
||||||
@@ -193,7 +171,8 @@ jobs:
|
|||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
with:
|
with:
|
||||||
name: ${{ inputs.coverage_xml_artifact }}
|
name: ${{ inputs.coverage_xml_artifact }}
|
||||||
path: ${{ steps.getVariables.outputs.coverage_report_xml }}
|
working-directory: ${{ inputs.coverage_report_xml_directory }}
|
||||||
|
path: ${{ inputs.coverage_report_xml_filename }}
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
|
||||||
@@ -203,7 +182,8 @@ jobs:
|
|||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
with:
|
with:
|
||||||
name: ${{ inputs.coverage_json_artifact }}
|
name: ${{ inputs.coverage_json_artifact }}
|
||||||
path: ${{ steps.getVariables.outputs.coverage_report_json }}
|
working-directory: ${{ inputs.coverage_report_json_directory }}
|
||||||
|
path: ${{ inputs.coverage_report_json_filename }}
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
|
||||||
@@ -213,24 +193,27 @@ jobs:
|
|||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
with:
|
with:
|
||||||
name: ${{ inputs.coverage_html_artifact }}
|
name: ${{ inputs.coverage_html_artifact }}
|
||||||
working-directory: ${{ steps.getVariables.outputs.coverage_report_html_directory }}
|
working-directory: ${{ inputs.coverage_report_html_directory }}
|
||||||
path: '*'
|
path: '*'
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
|
||||||
- name: 📊 Publish code coverage at CodeCov
|
- name: 📊 Publish code coverage at CodeCov
|
||||||
uses: codecov/codecov-action@v5
|
uses: codecov/codecov-action@v5
|
||||||
if: inputs.CodeCov == true
|
if: inputs.codecov
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
with:
|
with:
|
||||||
files: ${{ steps.getVariables.outputs.coverage_report_xml }}
|
token: ${{ secrets.CODECOV_TOKEN }}
|
||||||
|
disable_search: true
|
||||||
|
files: ${{ inputs.coverage_report_xml_directory }}/${{ inputs.coverage_report_xml_filename }}
|
||||||
flags: unittests
|
flags: unittests
|
||||||
env_vars: PYTHON
|
env_vars: PYTHON
|
||||||
|
fail_ci_if_error: true
|
||||||
|
|
||||||
- name: 📉 Publish code coverage at Codacy
|
- name: 📉 Publish code coverage at Codacy
|
||||||
uses: codacy/codacy-coverage-reporter-action@v1
|
uses: codacy/codacy-coverage-reporter-action@v1
|
||||||
if: inputs.Codacy == true
|
if: inputs.codacy
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
with:
|
with:
|
||||||
project-token: ${{ secrets.codacy_token }}
|
project-token: ${{ secrets.CODACY_TOKEN }}
|
||||||
coverage-reports: ${{ steps.getVariables.outputs.coverage_report_xml }}
|
coverage-reports: ${{ inputs.coverage_report_xml_directory }}/${{ inputs.coverage_report_xml_filename }}
|
||||||
|
|||||||
2
.github/workflows/PublishOnPyPI.yml
vendored
2
.github/workflows/PublishOnPyPI.yml
vendored
@@ -33,7 +33,7 @@ on:
|
|||||||
python_version:
|
python_version:
|
||||||
description: 'Python version.'
|
description: 'Python version.'
|
||||||
required: false
|
required: false
|
||||||
default: '3.12'
|
default: '3.13'
|
||||||
type: string
|
type: string
|
||||||
requirements:
|
requirements:
|
||||||
description: 'Python dependencies to be installed through pip.'
|
description: 'Python dependencies to be installed through pip.'
|
||||||
|
|||||||
48
.github/workflows/PublishTestResults.yml
vendored
48
.github/workflows/PublishTestResults.yml
vendored
@@ -34,6 +34,11 @@ on:
|
|||||||
required: false
|
required: false
|
||||||
default: '*-UnitTestReportSummary-XML-*'
|
default: '*-UnitTestReportSummary-XML-*'
|
||||||
type: string
|
type: string
|
||||||
|
merged_junit_filename:
|
||||||
|
description: 'Filename of the merged JUnit Test Summary.'
|
||||||
|
required: false
|
||||||
|
default: 'Unittesting.xml'
|
||||||
|
type: string
|
||||||
merged_junit_artifact:
|
merged_junit_artifact:
|
||||||
description: 'Name of the merged JUnit Test Summary artifact.'
|
description: 'Name of the merged JUnit Test Summary artifact.'
|
||||||
required: false
|
required: false
|
||||||
@@ -44,6 +49,11 @@ on:
|
|||||||
required: false
|
required: false
|
||||||
default: '"--pytest=rewrite-dunder-init;reduce-depth:pytest.tests.unit"'
|
default: '"--pytest=rewrite-dunder-init;reduce-depth:pytest.tests.unit"'
|
||||||
type: string
|
type: string
|
||||||
|
testsuite-summary-name:
|
||||||
|
description: 'Set TestsuiteSummary name.'
|
||||||
|
required: false
|
||||||
|
default: ''
|
||||||
|
type: string
|
||||||
publish:
|
publish:
|
||||||
description: 'Publish test report summary via Dorny Test-Reporter'
|
description: 'Publish test report summary via Dorny Test-Reporter'
|
||||||
required: false
|
required: false
|
||||||
@@ -54,6 +64,20 @@ on:
|
|||||||
required: false
|
required: false
|
||||||
default: 'Unit Test Results'
|
default: 'Unit Test Results'
|
||||||
type: string
|
type: string
|
||||||
|
dorny:
|
||||||
|
description: 'Publish merged unittest results via Dorny Test-Reporter.'
|
||||||
|
required: false
|
||||||
|
default: true
|
||||||
|
type: boolean
|
||||||
|
codecov:
|
||||||
|
description: 'Publish merged unittest results to Codecov.'
|
||||||
|
required: false
|
||||||
|
default: true
|
||||||
|
type: boolean
|
||||||
|
secrets:
|
||||||
|
CODECOV_TOKEN:
|
||||||
|
description: 'Token to push result to Codecov.'
|
||||||
|
required: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
PublishTestResults:
|
PublishTestResults:
|
||||||
@@ -87,23 +111,33 @@ jobs:
|
|||||||
|
|
||||||
- name: 🔁 Merge JUnit Unit Test Summaries
|
- name: 🔁 Merge JUnit Unit Test Summaries
|
||||||
run: |
|
run: |
|
||||||
pyedaa-reports -v unittest "--merge=pyTest-JUnit:junit/*.xml" ${{ inputs.additional_merge_args }} "--output=pyTest-JUnit:Unittesting.xml"
|
pyedaa-reports -v unittest "--name=${{ inputs.testsuite-summary-name }}" "--merge=pyTest-JUnit:junit/*.xml" ${{ inputs.additional_merge_args }} "--output=pyTest-JUnit:${{ inputs.merged_junit_filename }}"
|
||||||
printf "%s\n" "cat Unittesting.xml"
|
printf "%s\n" "cat ${{ inputs.merged_junit_filename }}"
|
||||||
cat Unittesting.xml
|
cat ${{ inputs.merged_junit_filename }}
|
||||||
|
|
||||||
- name: 📊 Publish Unit Test Results
|
- name: 📊 Publish Unit Test Results
|
||||||
uses: dorny/test-reporter@v1
|
uses: dorny/test-reporter@v2
|
||||||
if: inputs.publish && inputs.report_title != ''
|
if: (inputs.dorny || inputs.publish) && inputs.report_title != ''
|
||||||
with:
|
with:
|
||||||
name: ${{ inputs.report_title }}
|
name: ${{ inputs.report_title }}
|
||||||
path: Unittesting.xml
|
path: ${{ inputs.merged_junit_filename }}
|
||||||
reporter: java-junit
|
reporter: java-junit
|
||||||
|
|
||||||
|
- name: 📊 Publish unittest results at CodeCov
|
||||||
|
uses: codecov/test-results-action@v1
|
||||||
|
if: inputs.codecov
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.CODECOV_TOKEN }}
|
||||||
|
disable_search: true
|
||||||
|
files: ${{ inputs.merged_junit_filename }}
|
||||||
|
fail_ci_if_error: true
|
||||||
|
|
||||||
- name: 📤 Upload merged 'JUnit Test Summary' artifact
|
- name: 📤 Upload merged 'JUnit Test Summary' artifact
|
||||||
uses: pyTooling/upload-artifact@v4
|
uses: pyTooling/upload-artifact@v4
|
||||||
if: inputs.merged_junit_artifact != ''
|
if: inputs.merged_junit_artifact != ''
|
||||||
with:
|
with:
|
||||||
name: ${{ inputs.merged_junit_artifact }}
|
name: ${{ inputs.merged_junit_artifact }}
|
||||||
path: Unittesting.xml
|
path: ${{ inputs.merged_junit_filename }}
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
investigate: true
|
||||||
|
|||||||
6
.github/workflows/Release.yml
vendored
6
.github/workflows/Release.yml
vendored
@@ -44,9 +44,9 @@ jobs:
|
|||||||
RELEASE_VERSION=${GIT_TAG#v}
|
RELEASE_VERSION=${GIT_TAG#v}
|
||||||
RELEASE_DATETIME="$(date --utc '+%d.%m.%Y - %H:%M:%S')"
|
RELEASE_DATETIME="$(date --utc '+%d.%m.%Y - %H:%M:%S')"
|
||||||
# write to step outputs
|
# write to step outputs
|
||||||
echo "gitTag=${GIT_TAG}" >> $GITHUB_OUTPUT
|
printf "%s\n" "gitTag=${GIT_TAG}" >> $GITHUB_OUTPUT
|
||||||
echo "version=${RELEASE_VERSION}" >> $GITHUB_OUTPUT
|
printf "%s\n" "version=${RELEASE_VERSION}" >> $GITHUB_OUTPUT
|
||||||
echo "datetime=${RELEASE_DATETIME}" >> $GITHUB_OUTPUT
|
printf "%s\n" "datetime=${RELEASE_DATETIME}" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- name: 📑 Create Release Page
|
- name: 📑 Create Release Page
|
||||||
uses: actions/create-release@v1
|
uses: actions/create-release@v1
|
||||||
|
|||||||
20
.github/workflows/SphinxDocumentation.yml
vendored
20
.github/workflows/SphinxDocumentation.yml
vendored
@@ -32,7 +32,7 @@ on:
|
|||||||
python_version:
|
python_version:
|
||||||
description: 'Python version.'
|
description: 'Python version.'
|
||||||
required: false
|
required: false
|
||||||
default: '3.12'
|
default: '3.13'
|
||||||
type: string
|
type: string
|
||||||
requirements:
|
requirements:
|
||||||
description: 'Python dependencies to be installed through pip.'
|
description: 'Python dependencies to be installed through pip.'
|
||||||
@@ -46,7 +46,7 @@ on:
|
|||||||
type: string
|
type: string
|
||||||
coverage_report_json_directory:
|
coverage_report_json_directory:
|
||||||
description: ''
|
description: ''
|
||||||
required: true
|
required: false
|
||||||
type: string
|
type: string
|
||||||
coverage_json_artifact:
|
coverage_json_artifact:
|
||||||
description: 'Name of the coverage JSON artifact.'
|
description: 'Name of the coverage JSON artifact.'
|
||||||
@@ -105,6 +105,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: ${{ inputs.unittest_xml_artifact }}
|
name: ${{ inputs.unittest_xml_artifact }}
|
||||||
path: ${{ inputs.unittest_xml_directory }}
|
path: ${{ inputs.unittest_xml_directory }}
|
||||||
|
investigate: true
|
||||||
|
|
||||||
- name: 📥 Download artifacts '${{ inputs.coverage_json_artifact }}' from 'PublishCoverageResults' job
|
- name: 📥 Download artifacts '${{ inputs.coverage_json_artifact }}' from 'PublishCoverageResults' job
|
||||||
uses: pyTooling/download-artifact@v4
|
uses: pyTooling/download-artifact@v4
|
||||||
@@ -112,6 +113,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: ${{ inputs.coverage_json_artifact }}
|
name: ${{ inputs.coverage_json_artifact }}
|
||||||
path: ${{ inputs.coverage_report_json_directory }}
|
path: ${{ inputs.coverage_report_json_directory }}
|
||||||
|
investigate: true
|
||||||
|
|
||||||
- name: ☑ Generate HTML documentation
|
- name: ☑ Generate HTML documentation
|
||||||
if: inputs.html_artifact != ''
|
if: inputs.html_artifact != ''
|
||||||
@@ -162,6 +164,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: ${{ inputs.unittest_xml_artifact }}
|
name: ${{ inputs.unittest_xml_artifact }}
|
||||||
path: ${{ inputs.unittest_xml_directory }}
|
path: ${{ inputs.unittest_xml_directory }}
|
||||||
|
investigate: true
|
||||||
|
|
||||||
- name: 📥 Download artifacts '${{ inputs.coverage_json_artifact }}' from 'PublishCoverageResults' job
|
- name: 📥 Download artifacts '${{ inputs.coverage_json_artifact }}' from 'PublishCoverageResults' job
|
||||||
uses: pyTooling/download-artifact@v4
|
uses: pyTooling/download-artifact@v4
|
||||||
@@ -169,6 +172,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: ${{ inputs.coverage_json_artifact }}
|
name: ${{ inputs.coverage_json_artifact }}
|
||||||
path: ${{ inputs.coverage_report_json_directory }}
|
path: ${{ inputs.coverage_report_json_directory }}
|
||||||
|
investigate: true
|
||||||
|
|
||||||
- name: ☑ Generate LaTeX documentation
|
- name: ☑ Generate LaTeX documentation
|
||||||
if: inputs.latex_artifact != ''
|
if: inputs.latex_artifact != ''
|
||||||
@@ -183,8 +187,8 @@ jobs:
|
|||||||
- name: Workaround I - https://github.com/sphinx-doc/sphinx/issues/13190
|
- name: Workaround I - https://github.com/sphinx-doc/sphinx/issues/13190
|
||||||
if: inputs.latex_artifact != ''
|
if: inputs.latex_artifact != ''
|
||||||
run: |
|
run: |
|
||||||
printf "Changing directory to 'doc/_build/latex' ...\n"
|
printf "Changing directory to '${{ inputs.doc_directory || '.' }}/_build/latex' ...\n"
|
||||||
cd doc/_build/latex
|
cd ${{ inputs.doc_directory || '.' }}/_build/latex
|
||||||
|
|
||||||
MIMETYPE_EXTENSIONS=(
|
MIMETYPE_EXTENSIONS=(
|
||||||
"image/png:png"
|
"image/png:png"
|
||||||
@@ -227,13 +231,13 @@ jobs:
|
|||||||
if [[ $found -eq 0 ]]; then
|
if [[ $found -eq 0 ]]; then
|
||||||
printf "[SKIPPED]\n"
|
printf "[SKIPPED]\n"
|
||||||
fi
|
fi
|
||||||
done <<<$(find . -type f -not -iname "*.cls" -not -iname "*.sty" -not -iname "*.xdy" -not -iname "*.svg" -not -iname "*.png" -not -iname "*.jpg" | sed 's:./::')
|
done < <(find . -type f -not -iname "*.cls" -not -iname "*.sty" -not -iname "*.xdy" -not -iname "*.svg" -not -iname "*.png" -not -iname "*.jpg" | sed 's:./::')
|
||||||
|
|
||||||
- name: Workaround II - https://github.com/sphinx-doc/sphinx/issues/13189
|
- name: Workaround II - https://github.com/sphinx-doc/sphinx/issues/13189
|
||||||
if: inputs.latex_artifact != ''
|
if: inputs.latex_artifact != ''
|
||||||
run: |
|
run: |
|
||||||
printf "Changing directory to 'doc/_build/latex' ...\n"
|
printf "Changing directory to '${{ inputs.doc_directory || '.' }}/_build/latex' ...\n"
|
||||||
cd doc/_build/latex
|
cd ${{ inputs.doc_directory || '.' }}/_build/latex
|
||||||
|
|
||||||
printf "Searching for downloaded images, that need normalization ...\n"
|
printf "Searching for downloaded images, that need normalization ...\n"
|
||||||
for imageExt in png svg jpg jpeg; do
|
for imageExt in png svg jpg jpeg; do
|
||||||
@@ -259,7 +263,7 @@ jobs:
|
|||||||
printf "[FAILED]\n"
|
printf "[FAILED]\n"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done <<<$(find . -type f -iname "*.$imageExt" | sed 's:./::')
|
done < <(find . -type f -iname "*.$imageExt" | sed 's:./::')
|
||||||
done
|
done
|
||||||
|
|
||||||
- name: 📤 Upload 'LaTeX Documentation' artifact
|
- name: 📤 Upload 'LaTeX Documentation' artifact
|
||||||
|
|||||||
2
.github/workflows/StaticTypeCheck.yml
vendored
2
.github/workflows/StaticTypeCheck.yml
vendored
@@ -33,7 +33,7 @@ on:
|
|||||||
python_version:
|
python_version:
|
||||||
description: 'Python version.'
|
description: 'Python version.'
|
||||||
required: false
|
required: false
|
||||||
default: '3.12'
|
default: '3.13'
|
||||||
type: string
|
type: string
|
||||||
requirements:
|
requirements:
|
||||||
description: 'Python dependencies to be installed through pip.'
|
description: 'Python dependencies to be installed through pip.'
|
||||||
|
|||||||
1
.github/workflows/UnitTesting.yml
vendored
1
.github/workflows/UnitTesting.yml
vendored
@@ -358,6 +358,7 @@ jobs:
|
|||||||
|
|
||||||
- name: ✅ Run unit tests (Windows)
|
- name: ✅ Run unit tests (Windows)
|
||||||
if: matrix.system == 'windows'
|
if: matrix.system == 'windows'
|
||||||
|
continue-on-error: true
|
||||||
run: |
|
run: |
|
||||||
$env:ENVIRONMENT_NAME = "${{ matrix.envname }}"
|
$env:ENVIRONMENT_NAME = "${{ matrix.envname }}"
|
||||||
$env:PYTHONPATH = (Get-Location).ToString()
|
$env:PYTHONPATH = (Get-Location).ToString()
|
||||||
|
|||||||
2
.github/workflows/VerifyDocs.yml
vendored
2
.github/workflows/VerifyDocs.yml
vendored
@@ -33,7 +33,7 @@ on:
|
|||||||
python_version:
|
python_version:
|
||||||
description: 'Python version.'
|
description: 'Python version.'
|
||||||
required: false
|
required: false
|
||||||
default: '3.12'
|
default: '3.13'
|
||||||
type: string
|
type: string
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
Params:
|
Params:
|
||||||
uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
|
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r4
|
||||||
with:
|
with:
|
||||||
name: Example
|
name: Example
|
||||||
python_version_list: "3.12 3.13"
|
python_version_list: "3.12 3.13"
|
||||||
@@ -50,7 +50,7 @@ jobs:
|
|||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
|
||||||
ArtifactCleanUp:
|
ArtifactCleanUp:
|
||||||
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@main
|
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- Params
|
- Params
|
||||||
- Testing
|
- Testing
|
||||||
|
|||||||
55
.github/workflows/_Checking_JobTemplates.yml
vendored
55
.github/workflows/_Checking_JobTemplates.yml
vendored
@@ -6,26 +6,26 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
ConfigParams:
|
ConfigParams:
|
||||||
uses: pyTooling/Actions/.github/workflows/ExtractConfiguration.yml@main
|
uses: pyTooling/Actions/.github/workflows/ExtractConfiguration.yml@r4
|
||||||
with:
|
with:
|
||||||
package_name: pyDummy
|
package_name: pyDummy
|
||||||
|
|
||||||
UnitTestingParams:
|
UnitTestingParams:
|
||||||
uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
|
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r4
|
||||||
with:
|
with:
|
||||||
name: pyDummy
|
name: pyDummy
|
||||||
python_version_list: "3.9 3.10 3.11 3.12 3.13 pypy-3.9 pypy-3.10"
|
python_version_list: "3.9 3.10 3.11 3.12 3.13 pypy-3.9 pypy-3.10"
|
||||||
# disable_list: "windows:pypy-3.10"
|
# disable_list: "windows:pypy-3.10"
|
||||||
|
|
||||||
PlatformTestingParams:
|
PlatformTestingParams:
|
||||||
uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
|
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r4
|
||||||
with:
|
with:
|
||||||
name: Platform
|
name: Platform
|
||||||
python_version_list: ""
|
python_version_list: ""
|
||||||
system_list: "ubuntu windows macos mingw64 clang64 ucrt64"
|
system_list: "ubuntu windows macos mingw64 clang64 ucrt64"
|
||||||
|
|
||||||
UnitTesting:
|
UnitTesting:
|
||||||
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@main
|
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- ConfigParams
|
- ConfigParams
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
@@ -42,7 +42,7 @@ jobs:
|
|||||||
# coverage_html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }}
|
# coverage_html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }}
|
||||||
|
|
||||||
PlatformTesting:
|
PlatformTesting:
|
||||||
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@main
|
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- ConfigParams
|
- ConfigParams
|
||||||
- PlatformTestingParams
|
- PlatformTestingParams
|
||||||
@@ -61,7 +61,7 @@ jobs:
|
|||||||
coverage_html_artifact: ${{ fromJson(needs.PlatformTestingParams.outputs.artifact_names).codecoverage_html }}
|
coverage_html_artifact: ${{ fromJson(needs.PlatformTestingParams.outputs.artifact_names).codecoverage_html }}
|
||||||
|
|
||||||
StaticTypeCheck:
|
StaticTypeCheck:
|
||||||
uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@main
|
uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- ConfigParams
|
- ConfigParams
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
@@ -74,17 +74,17 @@ jobs:
|
|||||||
html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}
|
html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}
|
||||||
|
|
||||||
DocCoverage:
|
DocCoverage:
|
||||||
uses: pyTooling/Actions/.github/workflows/CheckDocumentation.yml@main
|
uses: pyTooling/Actions/.github/workflows/CheckDocumentation.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- ConfigParams
|
- ConfigParams
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
with:
|
with:
|
||||||
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
|
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
|
||||||
directory: ${{ needs.ConfigParams.outputs.package_directors }}
|
directory : ${{ needs.ConfigParams.outputs.package_directors }}
|
||||||
# fail_below: 70
|
# fail_below: 70
|
||||||
|
|
||||||
Package:
|
Package:
|
||||||
uses: pyTooling/Actions/.github/workflows/Package.yml@main
|
uses: pyTooling/Actions/.github/workflows/Package.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
- UnitTesting
|
- UnitTesting
|
||||||
@@ -94,38 +94,53 @@ jobs:
|
|||||||
artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }}
|
artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }}
|
||||||
|
|
||||||
PublishCoverageResults:
|
PublishCoverageResults:
|
||||||
uses: pyTooling/Actions/.github/workflows/PublishCoverageResults.yml@main
|
uses: pyTooling/Actions/.github/workflows/PublishCoverageResults.yml@r4
|
||||||
needs:
|
needs:
|
||||||
|
- ConfigParams
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
- UnitTesting
|
- UnitTesting
|
||||||
- PlatformTesting
|
- PlatformTesting
|
||||||
with:
|
with:
|
||||||
coverage_sqlite_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}
|
coverage_sqlite_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}
|
||||||
coverage_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_xml }}
|
coverage_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_xml }}
|
||||||
|
coverage_report_xml_directory: ${{ needs.ConfigParams.outputs.coverage_report_xml_directory }}
|
||||||
|
coverage_report_xml_filename: ${{ needs.ConfigParams.outputs.coverage_report_xml_filename }}
|
||||||
coverage_json_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }}
|
coverage_json_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }}
|
||||||
|
coverage_report_json_directory: ${{ needs.ConfigParams.outputs.coverage_report_json_directory }}
|
||||||
|
coverage_report_json_filename: ${{ needs.ConfigParams.outputs.coverage_report_json_filename }}
|
||||||
coverage_html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }}
|
coverage_html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }}
|
||||||
|
coverage_report_html_directory: ${{ needs.ConfigParams.outputs.coverage_report_html_directory }}
|
||||||
|
codecov: true
|
||||||
|
codacy: true
|
||||||
secrets:
|
secrets:
|
||||||
codacy_token: ${{ secrets.CODACY_PROJECT_TOKEN }}
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||||
|
CODACY_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }}
|
||||||
|
|
||||||
PublishTestResults:
|
PublishTestResults:
|
||||||
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@main
|
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@r4
|
||||||
needs:
|
needs:
|
||||||
|
- ConfigParams
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
- UnitTesting
|
- UnitTesting
|
||||||
- PlatformTesting
|
- PlatformTesting
|
||||||
with:
|
with:
|
||||||
additional_merge_args: '-d "--pytest=rewrite-dunder-init;reduce-depth:pytest.tests.unit;reduce-depth:pytest.tests.platform"'
|
additional_merge_args: '-d "--pytest=rewrite-dunder-init;reduce-depth:pytest.tests.unit;reduce-depth:pytest.tests.platform"'
|
||||||
|
testsuite-summary-name: ${{ needs.ConfigParams.outputs.package_fullname }}
|
||||||
merged_junit_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}
|
merged_junit_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}
|
||||||
|
codecov: true
|
||||||
|
dorny: true
|
||||||
|
secrets:
|
||||||
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||||
|
|
||||||
# VerifyDocs:
|
# VerifyDocs:
|
||||||
# uses: pyTooling/Actions/.github/workflows/VerifyDocs.yml@main
|
# uses: pyTooling/Actions/.github/workflows/VerifyDocs.yml@r4
|
||||||
# needs:
|
# needs:
|
||||||
# - UnitTestingParams
|
# - UnitTestingParams
|
||||||
# with:
|
# with:
|
||||||
# python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
|
# python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
|
||||||
|
|
||||||
Documentation:
|
Documentation:
|
||||||
uses: pyTooling/Actions/.github/workflows/SphinxDocumentation.yml@main
|
uses: pyTooling/Actions/.github/workflows/SphinxDocumentation.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- ConfigParams
|
- ConfigParams
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
@@ -141,7 +156,7 @@ jobs:
|
|||||||
latex_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }}
|
latex_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }}
|
||||||
|
|
||||||
IntermediateCleanUp:
|
IntermediateCleanUp:
|
||||||
uses: pyTooling/Actions/.github/workflows/IntermediateCleanUp.yml@main
|
uses: pyTooling/Actions/.github/workflows/IntermediateCleanUp.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
- PublishCoverageResults
|
- PublishCoverageResults
|
||||||
@@ -152,7 +167,7 @@ jobs:
|
|||||||
xml_unittest_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}-
|
xml_unittest_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}-
|
||||||
|
|
||||||
PDFDocumentation:
|
PDFDocumentation:
|
||||||
uses: pyTooling/Actions/.github/workflows/LaTeXDocumentation.yml@main
|
uses: pyTooling/Actions/.github/workflows/LaTeXDocumentation.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
- Documentation
|
- Documentation
|
||||||
@@ -162,7 +177,7 @@ jobs:
|
|||||||
pdf_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_pdf }}
|
pdf_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_pdf }}
|
||||||
|
|
||||||
PublishToGitHubPages:
|
PublishToGitHubPages:
|
||||||
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@main
|
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
- Documentation
|
- Documentation
|
||||||
@@ -175,7 +190,7 @@ jobs:
|
|||||||
typing: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}
|
typing: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}
|
||||||
|
|
||||||
ReleasePage:
|
ReleasePage:
|
||||||
uses: pyTooling/Actions/.github/workflows/Release.yml@main
|
uses: pyTooling/Actions/.github/workflows/Release.yml@r4
|
||||||
if: startsWith(github.ref, 'refs/tags')
|
if: startsWith(github.ref, 'refs/tags')
|
||||||
needs:
|
needs:
|
||||||
- UnitTesting
|
- UnitTesting
|
||||||
@@ -185,7 +200,7 @@ jobs:
|
|||||||
- PublishToGitHubPages
|
- PublishToGitHubPages
|
||||||
|
|
||||||
PublishOnPyPI:
|
PublishOnPyPI:
|
||||||
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@main
|
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@r4
|
||||||
if: startsWith(github.ref, 'refs/tags')
|
if: startsWith(github.ref, 'refs/tags')
|
||||||
needs:
|
needs:
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
@@ -199,7 +214,7 @@ jobs:
|
|||||||
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
|
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
|
||||||
|
|
||||||
ArtifactCleanUp:
|
ArtifactCleanUp:
|
||||||
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@main
|
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- UnitTestingParams
|
- UnitTestingParams
|
||||||
- PlatformTestingParams
|
- PlatformTestingParams
|
||||||
|
|||||||
@@ -6,10 +6,14 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
NamespacePackage:
|
NamespacePackage:
|
||||||
uses: pyTooling/Actions/.github/workflows/CompletePipeline.yml@main
|
uses: pyTooling/Actions/.github/workflows/CompletePipeline.yml@r4
|
||||||
with:
|
with:
|
||||||
package_namespace: pyExamples
|
package_namespace: pyExamples
|
||||||
package_name: Extensions
|
package_name: Extensions
|
||||||
|
codecov: true
|
||||||
|
codacy: true
|
||||||
|
dorny: true
|
||||||
secrets:
|
secrets:
|
||||||
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
|
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
|
||||||
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||||
CODACY_PROJECT_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }}
|
CODACY_PROJECT_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }}
|
||||||
|
|||||||
5
.github/workflows/_Checking_Nightly.yml
vendored
5
.github/workflows/_Checking_Nightly.yml
vendored
@@ -42,7 +42,7 @@ jobs:
|
|||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
|
||||||
NightlyPage:
|
NightlyPage:
|
||||||
uses: pyTooling/Actions/.github/workflows/NightlyRelease.yml@main
|
uses: pyTooling/Actions/.github/workflows/NightlyRelease.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- Build
|
- Build
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
@@ -51,6 +51,7 @@ jobs:
|
|||||||
actions: write
|
actions: write
|
||||||
# attestations: write
|
# attestations: write
|
||||||
with:
|
with:
|
||||||
|
can-fail: true
|
||||||
prerelease: true
|
prerelease: true
|
||||||
replacements: |
|
replacements: |
|
||||||
version=4.2.0
|
version=4.2.0
|
||||||
@@ -88,6 +89,7 @@ jobs:
|
|||||||
actions: write
|
actions: write
|
||||||
# attestations: write
|
# attestations: write
|
||||||
with:
|
with:
|
||||||
|
can-fail: true
|
||||||
replacements: |
|
replacements: |
|
||||||
version=4.2.0
|
version=4.2.0
|
||||||
tool=myTool
|
tool=myTool
|
||||||
@@ -105,6 +107,7 @@ jobs:
|
|||||||
inventory-version: 4.2.5
|
inventory-version: 4.2.5
|
||||||
inventory-categories: "kind1,kind2"
|
inventory-categories: "kind1,kind2"
|
||||||
assets: |
|
assets: |
|
||||||
|
# artifact: file: labels: asset title
|
||||||
document: document1.txt: doc,html: Documentation
|
document: document1.txt: doc,html: Documentation
|
||||||
document: build.log: build,log: Logfile - %tool% - %tool%
|
document: build.log: build,log: Logfile - %tool% - %tool%
|
||||||
other: document1.txt: build,SBOM:SBOM - %version%
|
other: document1.txt: build,SBOM:SBOM - %version%
|
||||||
|
|||||||
14
.github/workflows/_Checking_Parameters.yml
vendored
14
.github/workflows/_Checking_Parameters.yml
vendored
@@ -6,24 +6,24 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
Params_Default:
|
Params_Default:
|
||||||
uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
|
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r4
|
||||||
with:
|
with:
|
||||||
name: Example
|
name: Example
|
||||||
|
|
||||||
Params_PythonVersions:
|
Params_PythonVersions:
|
||||||
uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
|
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r4
|
||||||
with:
|
with:
|
||||||
name: Example
|
name: Example
|
||||||
python_version_list: "3.11 3.12 pypy-3.9 pypy-3.10"
|
python_version_list: "3.11 3.12 pypy-3.9 pypy-3.10"
|
||||||
|
|
||||||
Params_Systems:
|
Params_Systems:
|
||||||
uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
|
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r4
|
||||||
with:
|
with:
|
||||||
name: Example
|
name: Example
|
||||||
system_list: "windows mingw32 mingw64"
|
system_list: "windows mingw32 mingw64"
|
||||||
|
|
||||||
Params_Include:
|
Params_Include:
|
||||||
uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
|
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r4
|
||||||
with:
|
with:
|
||||||
name: Example
|
name: Example
|
||||||
python_version_list: "3.11"
|
python_version_list: "3.11"
|
||||||
@@ -31,7 +31,7 @@ jobs:
|
|||||||
include_list: "ubuntu:3.12 ubuntu:3.13"
|
include_list: "ubuntu:3.12 ubuntu:3.13"
|
||||||
|
|
||||||
Params_Exclude:
|
Params_Exclude:
|
||||||
uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
|
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r4
|
||||||
with:
|
with:
|
||||||
name: Example
|
name: Example
|
||||||
python_version_list: "3.12"
|
python_version_list: "3.12"
|
||||||
@@ -39,7 +39,7 @@ jobs:
|
|||||||
exclude_list: "windows:3.12 windows:3.13"
|
exclude_list: "windows:3.12 windows:3.13"
|
||||||
|
|
||||||
Params_Disable:
|
Params_Disable:
|
||||||
uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
|
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r4
|
||||||
with:
|
with:
|
||||||
name: Example
|
name: Example
|
||||||
python_version_list: "3.12"
|
python_version_list: "3.12"
|
||||||
@@ -47,7 +47,7 @@ jobs:
|
|||||||
disable_list: "windows:3.12 windows:3.13"
|
disable_list: "windows:3.12 windows:3.13"
|
||||||
|
|
||||||
Params_All:
|
Params_All:
|
||||||
uses: pyTooling/Actions/.github/workflows/Parameters.yml@main
|
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r4
|
||||||
with:
|
with:
|
||||||
name: Example
|
name: Example
|
||||||
python_version_list: "3.12 3.13"
|
python_version_list: "3.12 3.13"
|
||||||
|
|||||||
@@ -6,9 +6,14 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
SimplePackage:
|
SimplePackage:
|
||||||
uses: pyTooling/Actions/.github/workflows/CompletePipeline.yml@main
|
uses: pyTooling/Actions/.github/workflows/CompletePipeline.yml@r4
|
||||||
with:
|
with:
|
||||||
package_name: pyDummy
|
package_name: pyDummy
|
||||||
|
codecov: true
|
||||||
|
codacy: true
|
||||||
|
dorny: true
|
||||||
|
cleanup: false
|
||||||
secrets:
|
secrets:
|
||||||
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
|
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
|
||||||
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||||
CODACY_PROJECT_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }}
|
CODACY_PROJECT_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }}
|
||||||
|
|||||||
2
dist/requirements.txt
vendored
2
dist/requirements.txt
vendored
@@ -1,2 +1,2 @@
|
|||||||
wheel ~= 0.45
|
wheel ~= 0.45
|
||||||
twine ~= 6.0
|
twine ~= 6.1
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ The following block shows a minimal YAML workflow file:
|
|||||||
# Update tag and pre-release
|
# Update tag and pre-release
|
||||||
# - Update (force-push) tag to the commit that is used in the workflow.
|
# - Update (force-push) tag to the commit that is used in the workflow.
|
||||||
# - Upload artifacts defined by the user.
|
# - Upload artifacts defined by the user.
|
||||||
- uses: pyTooling/Actions/releaser@r0
|
- uses: pyTooling/Actions/releaser@r4
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
files: |
|
files: |
|
||||||
|
|||||||
@@ -60,12 +60,12 @@ Documentation Only (Sphinx)
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
BuildTheDocs:
|
BuildTheDocs:
|
||||||
uses: pyTooling/Actions/.github/workflows/BuildTheDocs.yml@r0
|
uses: pyTooling/Actions/.github/workflows/BuildTheDocs.yml@r4
|
||||||
with:
|
with:
|
||||||
artifact: Documentation
|
artifact: Documentation
|
||||||
|
|
||||||
PublishToGitHubPages:
|
PublishToGitHubPages:
|
||||||
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@r0
|
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- BuildTheDocs
|
- BuildTheDocs
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ The simplest variant just uses the artifact name for the package.
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
ArtifactCleanUp:
|
ArtifactCleanUp:
|
||||||
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@r0
|
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@r4
|
||||||
with:
|
with:
|
||||||
package: Package
|
package: Package
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@ Complex Example
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
ArtifactCleanUp:
|
ArtifactCleanUp:
|
||||||
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@r0
|
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- Params
|
- Params
|
||||||
- UnitTesting
|
- UnitTesting
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ Simple Example
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
BuildTheDocs:
|
BuildTheDocs:
|
||||||
uses: pyTooling/Actions/.github/workflows/BuildTheDocs.yml@r0
|
uses: pyTooling/Actions/.github/workflows/BuildTheDocs.yml@r4
|
||||||
|
|
||||||
|
|
||||||
Complex Example
|
Complex Example
|
||||||
@@ -40,7 +40,7 @@ Complex Example
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
BuildTheDocs:
|
BuildTheDocs:
|
||||||
uses: pyTooling/Actions/.github/workflows/BuildTheDocs.yml@r0
|
uses: pyTooling/Actions/.github/workflows/BuildTheDocs.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- Params
|
- Params
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ Simple Example
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
Coverage:
|
Coverage:
|
||||||
uses: pyTooling/Actions/.github/workflows/CoverageCollection.yml@r0
|
uses: pyTooling/Actions/.github/workflows/CoverageCollection.yml@r4
|
||||||
with:
|
with:
|
||||||
artifact: Coverage
|
artifact: Coverage
|
||||||
secrets:
|
secrets:
|
||||||
@@ -65,7 +65,7 @@ Complex Example
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
Coverage:
|
Coverage:
|
||||||
uses: pyTooling/Actions/.github/workflows/CoverageCollection.yml@r0
|
uses: pyTooling/Actions/.github/workflows/CoverageCollection.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- Params
|
- Params
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ Simple Example
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
Package:
|
Package:
|
||||||
uses: pyTooling/Actions/.github/workflows/Package.yml@r0
|
uses: pyTooling/Actions/.github/workflows/Package.yml@r4
|
||||||
with:
|
with:
|
||||||
artifact: Package
|
artifact: Package
|
||||||
|
|
||||||
@@ -45,7 +45,7 @@ Complex Example
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
Package:
|
Package:
|
||||||
uses: pyTooling/Actions/.github/workflows/Package.yml@r0
|
uses: pyTooling/Actions/.github/workflows/Package.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- Params
|
- Params
|
||||||
- Coverage
|
- Coverage
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ requires a `name` parameter to create the artifact names.
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
Params:
|
Params:
|
||||||
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r0
|
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r4
|
||||||
with:
|
with:
|
||||||
name: pyTooling
|
name: pyTooling
|
||||||
|
|
||||||
@@ -81,7 +81,7 @@ over resulting in the following combinations:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
UnitTestingParams:
|
UnitTestingParams:
|
||||||
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r0
|
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r4
|
||||||
with:
|
with:
|
||||||
name: pyTooling
|
name: pyTooling
|
||||||
python_version_list: "3.8 3.9 3.10 3.11 pypy-3.9 pypy-3.10"
|
python_version_list: "3.8 3.9 3.10 3.11 pypy-3.9 pypy-3.10"
|
||||||
@@ -89,14 +89,14 @@ over resulting in the following combinations:
|
|||||||
exclude_list: "windows:pypy-3.9 windows:pypy-3.10"
|
exclude_list: "windows:pypy-3.9 windows:pypy-3.10"
|
||||||
|
|
||||||
PerformanceTestingParams:
|
PerformanceTestingParams:
|
||||||
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r0
|
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r4
|
||||||
with:
|
with:
|
||||||
name: pyTooling
|
name: pyTooling
|
||||||
python_version_list: "3.11 3.12"
|
python_version_list: "3.11 3.12"
|
||||||
system_list: "ubuntu windows macos"
|
system_list: "ubuntu windows macos"
|
||||||
|
|
||||||
PlatformTestingParams:
|
PlatformTestingParams:
|
||||||
uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev
|
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r4
|
||||||
with:
|
with:
|
||||||
name: pyTooling
|
name: pyTooling
|
||||||
python_version_list: "3.12"
|
python_version_list: "3.12"
|
||||||
@@ -297,12 +297,12 @@ variables. Thus, this job is used to compute an output parameter that can be reu
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
Params:
|
Params:
|
||||||
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r0
|
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r4
|
||||||
with:
|
with:
|
||||||
name: pyTooling
|
name: pyTooling
|
||||||
|
|
||||||
CodeCoverage:
|
CodeCoverage:
|
||||||
uses: pyTooling/Actions/.github/workflows/CoverageCollection.yml@r0
|
uses: pyTooling/Actions/.github/workflows/CoverageCollection.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- Params
|
- Params
|
||||||
with:
|
with:
|
||||||
@@ -330,12 +330,12 @@ A job description contains the following key-value pairs:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
Params:
|
Params:
|
||||||
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r0
|
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r4
|
||||||
with:
|
with:
|
||||||
name: pyTooling
|
name: pyTooling
|
||||||
|
|
||||||
UnitTesting:
|
UnitTesting:
|
||||||
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@dev
|
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- Params
|
- Params
|
||||||
with:
|
with:
|
||||||
@@ -389,12 +389,12 @@ The supported artifacts are:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
Params:
|
Params:
|
||||||
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r0
|
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r4
|
||||||
with:
|
with:
|
||||||
name: pyTooling
|
name: pyTooling
|
||||||
|
|
||||||
Coverage:
|
Coverage:
|
||||||
uses: pyTooling/Actions/.github/workflows/CoverageCollection.yml@dev
|
uses: pyTooling/Actions/.github/workflows/CoverageCollection.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- Params
|
- Params
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ by a Git tag. A secret is forwarded from GitHub secrets to a job secret.
|
|||||||
# ...
|
# ...
|
||||||
|
|
||||||
PublishOnPyPI:
|
PublishOnPyPI:
|
||||||
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@r0
|
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@r4
|
||||||
if: startsWith(github.ref, 'refs/tags')
|
if: startsWith(github.ref, 'refs/tags')
|
||||||
with:
|
with:
|
||||||
artifact: Package
|
artifact: Package
|
||||||
@@ -66,7 +66,7 @@ by that job. Finally, the list of requirements is overwritten to load a list of
|
|||||||
# ...
|
# ...
|
||||||
|
|
||||||
PublishOnPyPI:
|
PublishOnPyPI:
|
||||||
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@r0
|
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@r4
|
||||||
if: startsWith(github.ref, 'refs/tags')
|
if: startsWith(github.ref, 'refs/tags')
|
||||||
needs:
|
needs:
|
||||||
- Params
|
- Params
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ Simple Example
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
PublishTestResults:
|
PublishTestResults:
|
||||||
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@r0
|
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@r4
|
||||||
|
|
||||||
Complex Example
|
Complex Example
|
||||||
===============
|
===============
|
||||||
@@ -49,7 +49,7 @@ Complex Example
|
|||||||
# ...
|
# ...
|
||||||
|
|
||||||
PublishTestResults:
|
PublishTestResults:
|
||||||
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@r0
|
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- CodeCoverage
|
- CodeCoverage
|
||||||
- UnitTesting
|
- UnitTesting
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ Simple Example
|
|||||||
# ...
|
# ...
|
||||||
|
|
||||||
PublishToGitHubPages:
|
PublishToGitHubPages:
|
||||||
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@r0
|
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- BuildTheDocs
|
- BuildTheDocs
|
||||||
with:
|
with:
|
||||||
@@ -43,7 +43,7 @@ Complex Example
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
PublishToGitHubPages:
|
PublishToGitHubPages:
|
||||||
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@r0
|
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- Params
|
- Params
|
||||||
- BuildTheDocs
|
- BuildTheDocs
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ Simple Example
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
Release:
|
Release:
|
||||||
uses: pyTooling/Actions/.github/workflows/Release.yml@r0
|
uses: pyTooling/Actions/.github/workflows/Release.yml@r4
|
||||||
|
|
||||||
|
|
||||||
Complex Example
|
Complex Example
|
||||||
@@ -72,7 +72,7 @@ Complex Example
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
Release:
|
Release:
|
||||||
uses: pyTooling/Actions/.github/workflows/Release.yml@r0
|
uses: pyTooling/Actions/.github/workflows/Release.yml@r4
|
||||||
if: startsWith(github.ref, 'refs/tags')
|
if: startsWith(github.ref, 'refs/tags')
|
||||||
needs:
|
needs:
|
||||||
- Package
|
- Package
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ Simple Example
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
StaticTypeCheck:
|
StaticTypeCheck:
|
||||||
uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@r0
|
uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@r4
|
||||||
with:
|
with:
|
||||||
commands: |
|
commands: |
|
||||||
touch pyTooling/__init__.py
|
touch pyTooling/__init__.py
|
||||||
@@ -44,7 +44,7 @@ Complex Example
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
StaticTypeCheck:
|
StaticTypeCheck:
|
||||||
uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@r0
|
uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- Params
|
- Params
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ Simple Example
|
|||||||
# ...
|
# ...
|
||||||
|
|
||||||
UnitTesting:
|
UnitTesting:
|
||||||
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@r0
|
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@r4
|
||||||
needs:
|
needs:
|
||||||
- Params
|
- Params
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
-r ../requirements.txt
|
-r ../requirements.txt
|
||||||
|
|
||||||
pyTooling ~= 8.0
|
pyTooling ~= 8.4
|
||||||
|
|
||||||
# Enforce latest version on ReadTheDocs
|
# Enforce latest version on ReadTheDocs
|
||||||
sphinx ~= 8.1
|
sphinx ~= 8.2
|
||||||
docutils ~= 0.21
|
docutils ~= 0.21
|
||||||
docutils_stubs ~= 0.0.22
|
docutils_stubs ~= 0.0.22
|
||||||
|
|
||||||
@@ -15,5 +15,5 @@ sphinxcontrib-mermaid ~= 1.0
|
|||||||
autoapi >= 2.0.1
|
autoapi >= 2.0.1
|
||||||
sphinx_design ~= 0.6.1
|
sphinx_design ~= 0.6.1
|
||||||
sphinx-copybutton >= 0.5.2
|
sphinx-copybutton >= 0.5.2
|
||||||
sphinx_autodoc_typehints ~= 3.0
|
sphinx_autodoc_typehints ~= 3.1
|
||||||
sphinx_reports ~= 0.7
|
sphinx_reports ~= 0.7
|
||||||
|
|||||||
@@ -64,11 +64,11 @@
|
|||||||
:target: https://pyTooling.github.io/pyTooling/
|
:target: https://pyTooling.github.io/pyTooling/
|
||||||
|
|
||||||
.. # Gitter
|
.. # Gitter
|
||||||
.. |SHIELD:svg:pyTooling-gitter| image:: https://img.shields.io/badge/chat-on%20gitter-4db797.?longCache=true&style=flat-square&logo=gitter&logoColor=e8ecef
|
.. |SHIELD:svg:pyTooling-gitter| image:: https://img.shields.io/badge/chat-on%20gitter-4db797?longCache=true&style=flat-square&logo=gitter&logoColor=e8ecef
|
||||||
:alt: Documentation License
|
:alt: Documentation License
|
||||||
:height: 22
|
:height: 22
|
||||||
:target: https://gitter.im/hdl/community
|
:target: https://gitter.im/hdl/community
|
||||||
.. |SHIELD:png:pyTooling-gitter| image:: https://raster.shields.io/badge/chat-on%20gitter-4db797.?longCache=true&style=flat-square&logo=gitter&logoColor=e8ecef
|
.. |SHIELD:png:pyTooling-gitter| image:: https://raster.shields.io/badge/chat-on%20gitter-4db797?longCache=true&style=flat-square&logo=gitter&logoColor=e8ecef
|
||||||
:alt: Documentation License
|
:alt: Documentation License
|
||||||
:height: 22
|
:height: 22
|
||||||
:target: https://gitter.im/hdl/community
|
:target: https://gitter.im/hdl/community
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
# #
|
# #
|
||||||
# License: #
|
# License: #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2017-2024 Patrick Lehmann - Bötzingen, Germany #
|
# Copyright 2017-2025 Patrick Lehmann - Bötzingen, Germany #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
@@ -34,7 +34,7 @@ A module for a set of dummy classes.
|
|||||||
|
|
||||||
__author__ = "Patrick Lehmann"
|
__author__ = "Patrick Lehmann"
|
||||||
__email__ = "Paebbels@gmail.com"
|
__email__ = "Paebbels@gmail.com"
|
||||||
__copyright__ = "2017-2024, Patrick Lehmann"
|
__copyright__ = "2017-2025, Patrick Lehmann"
|
||||||
__license__ = "Apache License, Version 2.0"
|
__license__ = "Apache License, Version 2.0"
|
||||||
__version__ = "0.4.4"
|
__version__ = "0.4.4"
|
||||||
__keywords__ = ["GitHub Actions"]
|
__keywords__ = ["GitHub Actions"]
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
# #
|
# #
|
||||||
# License: #
|
# License: #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2017-2024 Patrick Lehmann - Bötzingen, Germany #
|
# Copyright 2017-2025 Patrick Lehmann - Bötzingen, Germany #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
@@ -34,7 +34,7 @@ A module for a set of dummy classes.
|
|||||||
|
|
||||||
__author__ = "Patrick Lehmann"
|
__author__ = "Patrick Lehmann"
|
||||||
__email__ = "Paebbels@gmail.com"
|
__email__ = "Paebbels@gmail.com"
|
||||||
__copyright__ = "2017-2024, Patrick Lehmann"
|
__copyright__ = "2017-2025, Patrick Lehmann"
|
||||||
__license__ = "Apache License, Version 2.0"
|
__license__ = "Apache License, Version 2.0"
|
||||||
__version__ = "0.14.8"
|
__version__ = "0.14.8"
|
||||||
__keywords__ = ["GitHub Actions"]
|
__keywords__ = ["GitHub Actions"]
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
[build-system]
|
[build-system]
|
||||||
requires = [
|
requires = [
|
||||||
"setuptools ~= 75.5",
|
"setuptools ~= 78.1",
|
||||||
"wheel ~= 0.45",
|
"wheel ~= 0.45",
|
||||||
"pyTooling ~= 8.0"
|
"pyTooling ~= 8.4"
|
||||||
]
|
]
|
||||||
build-backend = "setuptools.build_meta"
|
build-backend = "setuptools.build_meta"
|
||||||
|
|
||||||
@@ -21,7 +21,10 @@ namespace_packages = true
|
|||||||
html_report = "report/typing"
|
html_report = "report/typing"
|
||||||
|
|
||||||
[tool.pytest]
|
[tool.pytest]
|
||||||
junit_xml = "report/unit/TestReportSummary.xml"
|
junit_xml = "report/unit/UnittestReportSummary.xml"
|
||||||
|
|
||||||
|
[tool.pyedaa-reports]
|
||||||
|
junit_xml = "report/unit/unittest.xml"
|
||||||
|
|
||||||
[tool.pytest.ini_options]
|
[tool.pytest.ini_options]
|
||||||
addopts = "--tb=native"
|
addopts = "--tb=native"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
# Unai Martinez-Corral #
|
# Unai Martinez-Corral #
|
||||||
# #
|
# #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2020-2024 The pyTooling Authors #
|
# Copyright 2020-2025 The pyTooling Authors #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
pyTooling ~= 8.0
|
pyTooling ~= 8.4
|
||||||
|
|||||||
2
setup.py
2
setup.py
@@ -11,7 +11,7 @@
|
|||||||
# #
|
# #
|
||||||
# License: #
|
# License: #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2017-2024 Patrick Lehmann - Bötzingen, Germany #
|
# Copyright 2017-2025 Patrick Lehmann - Bötzingen, Germany #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
# #
|
# #
|
||||||
# License: #
|
# License: #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2017-2024 Patrick Lehmann - Bötzingen, Germany #
|
# Copyright 2017-2025 Patrick Lehmann - Bötzingen, Germany #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
-r ../requirements.txt
|
-r ../requirements.txt
|
||||||
|
|
||||||
# Coverage collection
|
# Coverage collection
|
||||||
Coverage ~= 7.6
|
Coverage ~= 7.8
|
||||||
|
|
||||||
# Test Runner
|
# Test Runner
|
||||||
pytest ~= 8.3
|
pytest ~= 8.3
|
||||||
pytest-cov ~= 6.0
|
pytest-cov ~= 6.1
|
||||||
|
|
||||||
# Static Type Checking
|
# Static Type Checking
|
||||||
mypy ~= 1.13
|
mypy ~= 1.15
|
||||||
typing_extensions ~= 4.12
|
typing_extensions ~= 4.13
|
||||||
lxml ~= 5.3
|
lxml ~= 5.3
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
# #
|
# #
|
||||||
# License: #
|
# License: #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2017-2024 Patrick Lehmann - Bötzingen, Germany #
|
# Copyright 2017-2025 Patrick Lehmann - Bötzingen, Germany #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
# #
|
# #
|
||||||
# License: #
|
# License: #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2017-2024 Patrick Lehmann - Bötzingen, Germany #
|
# Copyright 2017-2025 Patrick Lehmann - Bötzingen, Germany #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
|
|||||||
Reference in New Issue
Block a user