mirror of
https://github.com/pyTooling/Actions.git
synced 2026-02-12 19:16:57 +08:00
Updating r5 from main@v5.0.0.
This commit is contained in:
166
.github/workflows/CompletePipeline.yml
vendored
166
.github/workflows/CompletePipeline.yml
vendored
@@ -3,7 +3,7 @@
|
||||
# Patrick Lehmann #
|
||||
# #
|
||||
# ==================================================================================================================== #
|
||||
# Copyright 2020-2024 The pyTooling Authors #
|
||||
# Copyright 2020-2025 The pyTooling Authors #
|
||||
# #
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||
# you may not use this file except in compliance with the License. #
|
||||
@@ -96,23 +96,23 @@ on:
|
||||
codecov:
|
||||
description: 'Publish merged coverage and unittest reports to Codecov.'
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
default: 'false'
|
||||
type: string
|
||||
codacy:
|
||||
description: 'Publish merged coverage report to Codacy.'
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
default: 'false'
|
||||
type: string
|
||||
dorny:
|
||||
description: 'Publish merged unittest report via Dorny Test-Reporter.'
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
default: 'false'
|
||||
type: string
|
||||
cleanup:
|
||||
description: 'Cleanup artifacts afterwards.'
|
||||
required: false
|
||||
default: true
|
||||
type: boolean
|
||||
default: 'true'
|
||||
type: string
|
||||
secrets:
|
||||
PYPI_TOKEN:
|
||||
description: "Token for pushing releases to PyPI."
|
||||
@@ -120,43 +120,58 @@ on:
|
||||
CODECOV_TOKEN:
|
||||
description: "Token for pushing coverage and unittest results to Codecov."
|
||||
required: false
|
||||
CODACY_PROJECT_TOKEN:
|
||||
CODACY_TOKEN:
|
||||
description: "Token for pushing coverage results to Codacy."
|
||||
required: false
|
||||
|
||||
jobs:
|
||||
Prepare:
|
||||
uses: pyTooling/Actions/.github/workflows/PrepareJob.yml@r5
|
||||
|
||||
ConfigParams:
|
||||
uses: pyTooling/Actions/.github/workflows/ExtractConfiguration.yml@r4
|
||||
uses: pyTooling/Actions/.github/workflows/ExtractConfiguration.yml@r5
|
||||
with:
|
||||
package_namespace: ${{ inputs.package_namespace }}
|
||||
package_name: ${{ inputs.package_name }}
|
||||
|
||||
UnitTestingParams:
|
||||
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r4
|
||||
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r5
|
||||
with:
|
||||
package_namespace: ${{ inputs.package_namespace }}
|
||||
package_name: ${{ inputs.package_name }}
|
||||
python_version: ${{ inputs.unittest_python_version }}
|
||||
python_version_list: ${{ inputs.unittest_python_version_list }}
|
||||
system_list: ${{ inputs.unittest_system_list }}
|
||||
include_list: ${{ inputs.unittest_include_list }}
|
||||
exclude_list: ${{ inputs.unittest_exclude_list }}
|
||||
disable_list: ${{ inputs.unittest_disable_list }}
|
||||
system_list: ${{ inputs.unittest_system_list }}
|
||||
include_list: ${{ inputs.unittest_include_list }}
|
||||
exclude_list: ${{ inputs.unittest_exclude_list }}
|
||||
disable_list: ${{ inputs.unittest_disable_list }}
|
||||
|
||||
AppTestingParams:
|
||||
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r4
|
||||
# AppTestingParams:
|
||||
# uses: pyTooling/Actions/.github/workflows/Parameters.yml@r5
|
||||
# with:
|
||||
# package_namespace: ${{ inputs.package_namespace }}
|
||||
# package_name: ${{ inputs.package_name }}
|
||||
# python_version: ${{ inputs.apptest_python_version }}
|
||||
# python_version_list: ${{ inputs.apptest_python_version_list }}
|
||||
# system_list: ${{ inputs.apptest_system_list }}
|
||||
# include_list: ${{ inputs.apptest_include_list }}
|
||||
# exclude_list: ${{ inputs.apptest_exclude_list }}
|
||||
# disable_list: ${{ inputs.apptest_disable_list }}
|
||||
|
||||
InstallParams:
|
||||
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r5
|
||||
with:
|
||||
package_namespace: ${{ inputs.package_namespace }}
|
||||
package_name: ${{ inputs.package_name }}
|
||||
python_version: ${{ inputs.apptest_python_version }}
|
||||
python_version_list: ${{ inputs.apptest_python_version_list }}
|
||||
system_list: ${{ inputs.apptest_system_list }}
|
||||
include_list: ${{ inputs.apptest_include_list }}
|
||||
exclude_list: ${{ inputs.apptest_exclude_list }}
|
||||
disable_list: ${{ inputs.apptest_disable_list }}
|
||||
python_version: ${{ inputs.unittest_python_version }}
|
||||
python_version_list: ''
|
||||
system_list: ${{ inputs.unittest_system_list }}
|
||||
include_list: ${{ inputs.unittest_include_list }}
|
||||
exclude_list: ${{ inputs.unittest_exclude_list }}
|
||||
disable_list: ${{ inputs.unittest_disable_list }}
|
||||
|
||||
UnitTesting:
|
||||
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@r4
|
||||
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@r5
|
||||
needs:
|
||||
- ConfigParams
|
||||
- UnitTestingParams
|
||||
@@ -171,7 +186,7 @@ jobs:
|
||||
coverage_sqlite_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}
|
||||
|
||||
StaticTypeCheck:
|
||||
uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@r4
|
||||
uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@r5
|
||||
needs:
|
||||
- ConfigParams
|
||||
- UnitTestingParams
|
||||
@@ -180,30 +195,41 @@ jobs:
|
||||
commands: |
|
||||
${{ needs.ConfigParams.outputs.mypy_prepare_command }}
|
||||
mypy --html-report report/typing -p ${{ needs.ConfigParams.outputs.package_fullname }}
|
||||
html_report: 'report/typing'
|
||||
html_report: 'report/typing'
|
||||
html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}
|
||||
|
||||
DocCoverage:
|
||||
uses: pyTooling/Actions/.github/workflows/CheckDocumentation.yml@r4
|
||||
uses: pyTooling/Actions/.github/workflows/CheckDocumentation.yml@r5
|
||||
needs:
|
||||
- ConfigParams
|
||||
- UnitTestingParams
|
||||
with:
|
||||
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
|
||||
directory: ${{ inputs.package_namespace }}/${{ inputs.package_name }}
|
||||
# fail_below: 70
|
||||
directory: ${{ needs.ConfigParams.outputs.package_directory }}
|
||||
|
||||
Package:
|
||||
uses: pyTooling/Actions/.github/workflows/Package.yml@r4
|
||||
uses: pyTooling/Actions/.github/workflows/Package.yml@r5
|
||||
needs:
|
||||
- UnitTestingParams
|
||||
- UnitTesting
|
||||
# - UnitTesting
|
||||
with:
|
||||
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
|
||||
artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }}
|
||||
|
||||
Install:
|
||||
uses: pyTooling/Actions/.github/workflows/InstallPackage.yml@r5
|
||||
needs:
|
||||
- ConfigParams
|
||||
- UnitTestingParams
|
||||
- InstallParams
|
||||
- Package
|
||||
with:
|
||||
jobs: ${{ needs.InstallParams.outputs.python_jobs }}
|
||||
wheel: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }}
|
||||
package_name: ${{ needs.ConfigParams.outputs.package_fullname }}
|
||||
|
||||
# AppTesting:
|
||||
# uses: pyTooling/Actions/.github/workflows/ApplicationTesting.yml@r4
|
||||
# uses: pyTooling/Actions/.github/workflows/ApplicationTesting.yml@r5
|
||||
# needs:
|
||||
# - AppTestingParams
|
||||
# - UnitTestingParams
|
||||
@@ -214,7 +240,7 @@ jobs:
|
||||
# apptest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).apptesting_xml }}
|
||||
|
||||
PublishCoverageResults:
|
||||
uses: pyTooling/Actions/.github/workflows/PublishCoverageResults.yml@r4
|
||||
uses: pyTooling/Actions/.github/workflows/PublishCoverageResults.yml@r5
|
||||
needs:
|
||||
- ConfigParams
|
||||
- UnitTestingParams
|
||||
@@ -233,34 +259,32 @@ jobs:
|
||||
codacy: ${{ inputs.codacy }}
|
||||
secrets:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
CODACY_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }}
|
||||
CODACY_TOKEN: ${{ secrets.CODACY_TOKEN }}
|
||||
|
||||
PublishTestResults:
|
||||
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@r4
|
||||
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@r5
|
||||
needs:
|
||||
- ConfigParams
|
||||
- UnitTestingParams
|
||||
- UnitTesting
|
||||
with:
|
||||
additional_merge_args: '-d "--pytest=rewrite-dunder-init;reduce-depth:pytest.tests.unit"'
|
||||
testsuite-summary-name: ${{ inputs.package_name }}
|
||||
testsuite-summary-name: ${{ needs.ConfigParams.outputs.package_fullname }}
|
||||
merged_junit_filename: ${{ needs.ConfigParams.outputs.unittest_merged_report_xml_filename }}
|
||||
merged_junit_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}
|
||||
dorny: ${{ inputs.dorny }}
|
||||
codecov: ${{ inputs.codecov }}
|
||||
|
||||
secrets:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
|
||||
# VerifyDocs:
|
||||
# uses: pyTooling/Actions/.github/workflows/VerifyDocs.yml@r4
|
||||
# uses: pyTooling/Actions/.github/workflows/VerifyDocs.yml@r5
|
||||
# needs:
|
||||
# - UnitTestingParams
|
||||
# with:
|
||||
# python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
|
||||
|
||||
Documentation:
|
||||
uses: pyTooling/Actions/.github/workflows/SphinxDocumentation.yml@r4
|
||||
uses: pyTooling/Actions/.github/workflows/SphinxDocumentation.yml@r5
|
||||
needs:
|
||||
- ConfigParams
|
||||
- UnitTestingParams
|
||||
@@ -276,19 +300,18 @@ jobs:
|
||||
latex_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }}
|
||||
|
||||
IntermediateCleanUp:
|
||||
uses: pyTooling/Actions/.github/workflows/IntermediateCleanUp.yml@r4
|
||||
uses: pyTooling/Actions/.github/workflows/IntermediateCleanUp.yml@r5
|
||||
needs:
|
||||
- UnitTestingParams
|
||||
- PublishCoverageResults
|
||||
- PublishTestResults
|
||||
- Documentation
|
||||
if: ${{ inputs.cleanup }}
|
||||
if: inputs.cleanup == 'true'
|
||||
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@r4
|
||||
# uses: pyTooling/Actions/.github/workflows/LaTeXDocumentation.yml@r5
|
||||
# needs:
|
||||
# - UnitTestingParams
|
||||
# - Documentation
|
||||
@@ -298,7 +321,7 @@ jobs:
|
||||
# pdf_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_pdf }}
|
||||
|
||||
PublishToGitHubPages:
|
||||
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@r4
|
||||
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@r5
|
||||
needs:
|
||||
- UnitTestingParams
|
||||
- Documentation
|
||||
@@ -310,29 +333,60 @@ jobs:
|
||||
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@r4
|
||||
if: startsWith(github.ref, 'refs/tags')
|
||||
TriggerTaggedRelease:
|
||||
uses: pyTooling/Actions/.github/workflows/TagReleaseCommit.yml@r5
|
||||
needs:
|
||||
- Package
|
||||
- Prepare
|
||||
- UnitTesting
|
||||
- Install
|
||||
# - AppTesting
|
||||
# - StaticTypeCheck
|
||||
- Package
|
||||
- PublishToGitHubPages
|
||||
if: needs.Prepare.outputs.is_release_commit
|
||||
permissions:
|
||||
contents: write # required for create tag
|
||||
actions: write # required for trigger workflow
|
||||
with:
|
||||
version: ${{ needs.Prepare.outputs.version }}
|
||||
auto_tag: ${{ needs.Prepare.outputs.is_release_commit }}
|
||||
secrets: inherit
|
||||
|
||||
ReleasePage:
|
||||
uses: pyTooling/Actions/.github/workflows/PublishReleaseNotes.yml@r5
|
||||
needs:
|
||||
- Prepare
|
||||
- UnitTesting
|
||||
- Install
|
||||
# - AppTesting
|
||||
# - StaticTypeCheck
|
||||
- Package
|
||||
- PublishToGitHubPages
|
||||
if: needs.Prepare.outputs.is_release_tag == 'true'
|
||||
permissions:
|
||||
contents: write
|
||||
actions: write
|
||||
with:
|
||||
tag: ${{ needs.Prepare.outputs.version }}
|
||||
secrets: inherit
|
||||
|
||||
PublishOnPyPI:
|
||||
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@r4
|
||||
if: startsWith(github.ref, 'refs/tags')
|
||||
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@r5
|
||||
needs:
|
||||
- Prepare
|
||||
- UnitTestingParams
|
||||
- Package
|
||||
- ReleasePage
|
||||
if: needs.Prepare.outputs.is_release_tag == 'true'
|
||||
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 }}
|
||||
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
|
||||
|
||||
ArtifactCleanUp:
|
||||
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@r4
|
||||
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@r5
|
||||
needs:
|
||||
- UnitTestingParams
|
||||
- UnitTesting
|
||||
@@ -344,7 +398,7 @@ jobs:
|
||||
- PublishToGitHubPages
|
||||
# - PublishOnPyPI
|
||||
- IntermediateCleanUp
|
||||
if: ${{ inputs.cleanup }}
|
||||
if: inputs.cleanup == 'true'
|
||||
with:
|
||||
package: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }}
|
||||
remaining: |
|
||||
|
||||
Reference in New Issue
Block a user