mirror of
https://github.com/pyTooling/Actions.git
synced 2026-02-12 02:56:56 +08:00
235 lines
11 KiB
YAML
235 lines
11 KiB
YAML
name: Verification of Job Templates
|
|
|
|
on:
|
|
push:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
ConfigParams:
|
|
uses: pyTooling/Actions/.github/workflows/ExtractConfiguration.yml@dev
|
|
with:
|
|
package_name: pyDummy
|
|
|
|
UnitTestingParams:
|
|
uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev
|
|
with:
|
|
name: pyDummy
|
|
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"
|
|
|
|
PlatformTestingParams:
|
|
uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev
|
|
with:
|
|
name: Platform
|
|
python_version_list: ""
|
|
system_list: "ubuntu windows macos mingw32 mingw64 clang64 ucrt64"
|
|
|
|
UnitTesting:
|
|
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@dev
|
|
needs:
|
|
- ConfigParams
|
|
- UnitTestingParams
|
|
with:
|
|
jobs: ${{ needs.UnitTestingParams.outputs.python_jobs }}
|
|
unittest_report_xml_directory: ${{ needs.ConfigParams.outputs.unittest_report_xml_directory }}
|
|
unittest_report_xml_filename: ${{ needs.ConfigParams.outputs.unittest_report_xml_filename }}
|
|
coverage_report_html_directory: ${{ needs.ConfigParams.outputs.coverage_report_html_directory }}
|
|
unittest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}
|
|
unittest_html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_html }}
|
|
coverage_sqlite_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}
|
|
# coverage_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_xml }}
|
|
# coverage_json_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }}
|
|
# coverage_html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }}
|
|
|
|
PlatformTesting:
|
|
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@dev
|
|
needs:
|
|
- ConfigParams
|
|
- PlatformTestingParams
|
|
with:
|
|
jobs: ${{ needs.PlatformTestingParams.outputs.python_jobs }}
|
|
# tests_directory: ""
|
|
unittest_directory: platform
|
|
unittest_report_xml_directory: ${{ needs.ConfigParams.outputs.unittest_report_xml_directory }}
|
|
unittest_report_xml_filename: ${{ needs.ConfigParams.outputs.unittest_report_xml_filename }}
|
|
coverage_report_html_directory: ${{ needs.ConfigParams.outputs.coverage_report_html_directory }}
|
|
unittest_xml_artifact: ${{ fromJson(needs.PlatformTestingParams.outputs.artifact_names).unittesting_xml }}
|
|
unittest_html_artifact: ${{ fromJson(needs.PlatformTestingParams.outputs.artifact_names).unittesting_html }}
|
|
coverage_sqlite_artifact: ${{ fromJson(needs.PlatformTestingParams.outputs.artifact_names).codecoverage_sqlite }}
|
|
coverage_xml_artifact: ${{ fromJson(needs.PlatformTestingParams.outputs.artifact_names).codecoverage_xml }}
|
|
coverage_json_artifact: ${{ fromJson(needs.PlatformTestingParams.outputs.artifact_names).codecoverage_json }}
|
|
coverage_html_artifact: ${{ fromJson(needs.PlatformTestingParams.outputs.artifact_names).codecoverage_html }}
|
|
|
|
StaticTypeCheck:
|
|
uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@dev
|
|
needs:
|
|
- ConfigParams
|
|
- UnitTestingParams
|
|
with:
|
|
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
|
|
commands: |
|
|
${{ needs.ConfigParams.outputs.mypy_prepare_command }}
|
|
mypy --html-report htmlmypy -p ${{ needs.ConfigParams.outputs.package_fullname }}
|
|
html_report: 'htmlmypy'
|
|
html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}
|
|
|
|
DocCoverage:
|
|
uses: pyTooling/Actions/.github/workflows/CheckDocumentation.yml@dev
|
|
needs:
|
|
- ConfigParams
|
|
- UnitTestingParams
|
|
with:
|
|
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
|
|
directory: ${{ needs.ConfigParams.outputs.package_directors }}
|
|
# fail_below: 70
|
|
|
|
Package:
|
|
uses: pyTooling/Actions/.github/workflows/Package.yml@dev
|
|
needs:
|
|
- UnitTestingParams
|
|
- UnitTesting
|
|
- PlatformTesting
|
|
with:
|
|
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
|
|
artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }}
|
|
|
|
PublishCoverageResults:
|
|
uses: pyTooling/Actions/.github/workflows/PublishCoverageResults.yml@dev
|
|
needs:
|
|
- UnitTestingParams
|
|
- UnitTesting
|
|
- PlatformTesting
|
|
with:
|
|
coverage_sqlite_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}
|
|
coverage_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_xml }}
|
|
coverage_json_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }}
|
|
coverage_html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }}
|
|
secrets:
|
|
codacy_token: ${{ secrets.CODACY_PROJECT_TOKEN }}
|
|
|
|
PublishTestResults:
|
|
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@dev
|
|
needs:
|
|
- UnitTesting
|
|
- PlatformTesting
|
|
with:
|
|
additional_merge_args: '-d "--pytest=rewrite-dunder-init;reduce-depth:pytest.tests.unit;reduce-depth:pytest.tests.platform"'
|
|
merged_junit_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}
|
|
|
|
# VerifyDocs:
|
|
# uses: pyTooling/Actions/.github/workflows/VerifyDocs.yml@dev
|
|
# needs:
|
|
# - UnitTestingParams
|
|
# with:
|
|
# python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
|
|
|
|
Documentation:
|
|
uses: pyTooling/Actions/.github/workflows/SphinxDocumentation.yml@dev
|
|
needs:
|
|
- ConfigParams
|
|
- UnitTestingParams
|
|
- PublishTestResults
|
|
- PublishCoverageResults
|
|
# - VerifyDocs
|
|
with:
|
|
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
|
|
coverage_report_json_directory: ${{ needs.ConfigParams.outputs.coverage_report_json_directory }}
|
|
unittest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}
|
|
coverage_json_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }}
|
|
html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_html }}
|
|
latex_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }}
|
|
|
|
IntermediateCleanUp:
|
|
uses: pyTooling/Actions/.github/workflows/IntermediateCleanUp.yml@dev
|
|
needs:
|
|
- UnitTestingParams
|
|
- PublishCoverageResults
|
|
- PublishTestResults
|
|
- Documentation
|
|
with:
|
|
sqlite_coverage_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}-
|
|
xml_unittest_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}-
|
|
|
|
PDFDocumentation:
|
|
uses: pyTooling/Actions/.github/workflows/LaTeXDocumentation.yml@dev
|
|
needs:
|
|
- UnitTestingParams
|
|
- Documentation
|
|
with:
|
|
document: actions
|
|
latex_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }}
|
|
pdf_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_pdf }}
|
|
|
|
PublishToGitHubPages:
|
|
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@dev
|
|
needs:
|
|
- UnitTestingParams
|
|
- Documentation
|
|
# - PDFDocumentation
|
|
- PublishCoverageResults
|
|
- StaticTypeCheck
|
|
with:
|
|
doc: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_html }}
|
|
coverage: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }}
|
|
typing: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}
|
|
|
|
ReleasePage:
|
|
uses: pyTooling/Actions/.github/workflows/Release.yml@dev
|
|
if: startsWith(github.ref, 'refs/tags')
|
|
needs:
|
|
- UnitTesting
|
|
- PlatformTesting
|
|
# - StaticTypeCheck
|
|
- Package
|
|
- PublishToGitHubPages
|
|
|
|
PublishOnPyPI:
|
|
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@dev
|
|
if: startsWith(github.ref, 'refs/tags')
|
|
needs:
|
|
- UnitTestingParams
|
|
- ReleasePage
|
|
# - Package
|
|
with:
|
|
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
|
|
requirements: -r dist/requirements.txt
|
|
artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }}
|
|
secrets:
|
|
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
|
|
|
|
ArtifactCleanUp:
|
|
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@dev
|
|
needs:
|
|
- UnitTestingParams
|
|
- PlatformTestingParams
|
|
- UnitTesting
|
|
- StaticTypeCheck
|
|
- PlatformTesting
|
|
- Documentation
|
|
# - PDFDocumentation
|
|
- PublishTestResults
|
|
- PublishCoverageResults
|
|
- PublishToGitHubPages
|
|
- IntermediateCleanUp
|
|
with:
|
|
package: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }}
|
|
remaining: |
|
|
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}-*
|
|
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_html }}-*
|
|
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_xml }}-*
|
|
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }}-*
|
|
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }}-*
|
|
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}
|
|
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_html }}
|
|
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}
|
|
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_xml }}
|
|
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }}
|
|
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }}
|
|
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}
|
|
${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_html }}
|
|
${{ fromJson(needs.PlatformTestingParams.outputs.artifact_names).unittesting_xml }}-*
|
|
${{ fromJson(needs.PlatformTestingParams.outputs.artifact_names).unittesting_html }}-*
|
|
${{ fromJson(needs.PlatformTestingParams.outputs.artifact_names).codecoverage_xml }}-*
|
|
${{ fromJson(needs.PlatformTestingParams.outputs.artifact_names).codecoverage_json }}-*
|
|
${{ fromJson(needs.PlatformTestingParams.outputs.artifact_names).codecoverage_html }}-*
|