Pipeline #491
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Pipeline | ||
| on: | ||
| push: | ||
| workflow_dispatch: | ||
| schedule: | ||
| # Every Friday at 22:00 - rerun pipeline to check for dependency-based issues | ||
| - cron: '0 22 * * 5' | ||
| jobs: | ||
| UnitTestingParams: | ||
| uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev | ||
| with: | ||
| name: pyEDAA.ProjectModel | ||
| # python_version_list: "3.9 3.10 3.11 3.12 pypy-3.9 pypy-3.10" | ||
| disable_list: "mingw64:* ucrt64:*" | ||
| AppTestingParams: | ||
| uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev | ||
| with: | ||
| name: pyEDAA.ProjectModel | ||
| python_version_list: "" # use latest Python version | ||
| system_list: "ubuntu macos macos-arm" | ||
| # include_list: | ||
| # exclude_list: | ||
| # disable_list: "windows:pypy-3.8 windows:pypy-3.9 windows:pypy-3.10" | ||
| UnitTesting: | ||
| uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@dev | ||
| needs: | ||
| - UnitTestingParams | ||
| with: | ||
| jobs: ${{ needs.UnitTestingParams.outputs.python_jobs }} | ||
| requirements: "-r tests/unit/requirements.txt" | ||
| # pacboy: "msys/git python-lxml:p" | ||
| unittest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }} | ||
| coverage_sqlite_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }} | ||
| StaticTypeCheck: | ||
| uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@dev | ||
| needs: | ||
| - UnitTestingParams | ||
| with: | ||
| python_version: ${{ needs.UnitTestingParams.outputs.python_version }} | ||
| commands: | | ||
| touch pyEDAA/__init__.py | ||
| mypy --html-report htmlmypy -p pyEDAA.ProjectModel | ||
| html_report: 'htmlmypy' | ||
| html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }} | ||
| DocCoverage: | ||
| uses: pyTooling/Actions/.github/workflows/CheckDocumentation.yml@dev | ||
| needs: | ||
| - UnitTestingParams | ||
| with: | ||
| python_version: ${{ needs.UnitTestingParams.outputs.python_version }} | ||
| directory: pyEDAA/ProjectModel | ||
| # fail_below: 70 | ||
| ConfigParams: | ||
| uses: pyTooling/Actions/.github/workflows/ExtractConfiguration.yml@dev | ||
| needs: | ||
| - DocCoverage | ||
| Package: | ||
| uses: pyTooling/Actions/.github/workflows/Package.yml@dev | ||
| needs: | ||
| - UnitTestingParams | ||
| - UnitTesting | ||
| with: | ||
| python_version: ${{ needs.UnitTestingParams.outputs.python_version }} | ||
| artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }} | ||
| # AppTesting: | ||
| # uses: pyTooling/Actions/.github/workflows/ApplicationTesting.yml@dev | ||
| # needs: | ||
| # - AppTestingParams | ||
| # - UnitTestingParams | ||
| # - Package | ||
| # with: | ||
| # jobs: ${{ needs.AppTestingParams.outputs.python_jobs }} | ||
| # wheel: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }} | ||
| # apptest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).apptesting_xml }} | ||
| PublishCoverageResults: | ||
| uses: pyTooling/Actions/.github/workflows/PublishCoverageResults.yml@dev | ||
| needs: | ||
| - UnitTestingParams | ||
| - UnitTesting | ||
| 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: | ||
| - UnitTestingParams | ||
| - UnitTesting | ||
| with: | ||
| 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: | ||
| - UnitTestingParams | ||
| - ConfigParams | ||
| - 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 }}-ubuntu-native-3.12 | ||
| 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: pyEDAA.ProjectModel | ||
| # 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: | ||
| - Package | ||
| # - AppTesting | ||
| - PublishToGitHubPages | ||
| PublishOnPyPI: | ||
| uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@dev | ||
| if: startsWith(github.ref, 'refs/tags') | ||
| needs: | ||
| - UnitTestingParams | ||
| - ReleasePage | ||
| 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 | ||
| - UnitTesting | ||
| - StaticTypeCheck | ||
| - Documentation | ||
| # - PDFDocumentation | ||
| - PublishTestResults | ||
| - PublishCoverageResults | ||
| - PublishToGitHubPages | ||
| # - PublishOnPyPI | ||
| - IntermediateCleanUp | ||
| with: | ||
| package: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }} | ||
| remaining: | | ||
| ${{ 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.UnitTestingParams.outputs.artifact_names).documentation_latex }} | ||
| # ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).apptesting_xml }}-* | ||
| # ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_pdf }} | ||