|
4 | 4 | push:
|
5 | 5 | workflow_dispatch:
|
6 | 6 | schedule:
|
7 |
| - - cron: '0 0 * * 5' |
| 7 | +# Every Friday at 22:00 - rerun pipeline to check for dependency-based issues |
| 8 | + - cron: '0 22 * * 5' |
8 | 9 |
|
9 | 10 | jobs:
|
| 11 | + UnitTestingParams: |
| 12 | + uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev |
| 13 | + with: |
| 14 | + name: pyEDAA.ProjectModel |
| 15 | +# python_version_list: "3.9 3.10 3.11 3.12 pypy-3.9 pypy-3.10" |
| 16 | + disable_list: "mingw64:* ucrt64:*" |
10 | 17 |
|
11 |
| - Params: |
| 18 | + AppTestingParams: |
12 | 19 | uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev
|
13 | 20 | with:
|
14 | 21 | name: pyEDAA.ProjectModel
|
| 22 | + python_version_list: "" # use latest Python version |
| 23 | + system_list: "ubuntu macos macos-arm" |
| 24 | +# include_list: |
| 25 | +# exclude_list: |
| 26 | +# disable_list: "windows:pypy-3.8 windows:pypy-3.9 windows:pypy-3.10" |
15 | 27 |
|
16 | 28 | UnitTesting:
|
17 | 29 | uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@dev
|
18 | 30 | needs:
|
19 |
| - - Params |
| 31 | + - UnitTestingParams |
20 | 32 | with:
|
21 |
| - jobs: ${{ needs.Params.outputs.python_jobs }} |
22 |
| - artifact: ${{ fromJson(needs.Params.outputs.artifact_names).unittesting_xml }} |
23 |
| - |
24 |
| - Coverage: |
25 |
| - uses: pyTooling/Actions/.github/workflows/CoverageCollection.yml@dev |
26 |
| - needs: |
27 |
| - - Params |
28 |
| - with: |
29 |
| - python_version: ${{ needs.Params.outputs.python_version }} |
30 |
| - artifact: ${{ fromJson(needs.Params.outputs.artifact_names).codecoverage_html }} |
31 |
| - secrets: |
32 |
| - codacy_token: ${{ secrets.CODACY_PROJECT_TOKEN }} |
| 33 | + jobs: ${{ needs.UnitTestingParams.outputs.python_jobs }} |
| 34 | + requirements: "-r tests/unit/requirements.txt" |
| 35 | +# pacboy: "msys/git python-lxml:p" |
| 36 | + unittest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }} |
| 37 | + coverage_sqlite_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }} |
33 | 38 |
|
34 | 39 | StaticTypeCheck:
|
35 | 40 | uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@dev
|
36 | 41 | needs:
|
37 |
| - - Params |
| 42 | + - UnitTestingParams |
38 | 43 | with:
|
39 |
| - python_version: ${{ needs.Params.outputs.python_version }} |
| 44 | + python_version: ${{ needs.UnitTestingParams.outputs.python_version }} |
40 | 45 | commands: |
|
41 |
| - cd pyEDAA |
42 |
| - mypy --html-report ../htmlmypy -p ProjectModel |
43 |
| - html_artifact: ${{ fromJson(needs.Params.outputs.artifact_names).statictyping_html }} |
| 46 | + touch pyEDAA/__init__.py |
| 47 | + mypy --html-report htmlmypy -p pyEDAA.ProjectModel |
| 48 | + html_report: 'htmlmypy' |
| 49 | + html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }} |
44 | 50 |
|
45 |
| - PublishTestResults: |
46 |
| - uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@dev |
| 51 | + DocCoverage: |
| 52 | + uses: pyTooling/Actions/.github/workflows/CheckDocumentation.yml@dev |
47 | 53 | needs:
|
48 |
| - - UnitTesting |
| 54 | + - UnitTestingParams |
| 55 | + with: |
| 56 | + python_version: ${{ needs.UnitTestingParams.outputs.python_version }} |
| 57 | + directory: pyEDAA/ProjectModel |
| 58 | +# fail_below: 70 |
| 59 | + |
| 60 | + ConfigParams: |
| 61 | + uses: pyTooling/Actions/.github/workflows/ExtractConfiguration.yml@dev |
| 62 | + needs: |
| 63 | + - DocCoverage |
49 | 64 |
|
50 | 65 | Package:
|
51 | 66 | uses: pyTooling/Actions/.github/workflows/Package.yml@dev
|
52 | 67 | needs:
|
53 |
| - - Params |
54 |
| - - Coverage |
| 68 | + - UnitTestingParams |
| 69 | + - UnitTesting |
55 | 70 | with:
|
56 |
| - python_version: ${{ needs.Params.outputs.python_version }} |
57 |
| - artifact: ${{ fromJson(needs.Params.outputs.artifact_names).package_all }} |
| 71 | + python_version: ${{ needs.UnitTestingParams.outputs.python_version }} |
| 72 | + artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }} |
58 | 73 |
|
59 |
| - Release: |
60 |
| - uses: pyTooling/Actions/.github/workflows/Release.yml@dev |
61 |
| - if: startsWith(github.ref, 'refs/tags') |
| 74 | +# AppTesting: |
| 75 | +# uses: pyTooling/Actions/.github/workflows/ApplicationTesting.yml@dev |
| 76 | +# needs: |
| 77 | +# - AppTestingParams |
| 78 | +# - UnitTestingParams |
| 79 | +# - Package |
| 80 | +# with: |
| 81 | +# jobs: ${{ needs.AppTestingParams.outputs.python_jobs }} |
| 82 | +# wheel: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }} |
| 83 | +# apptest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).apptesting_xml }} |
| 84 | + |
| 85 | + PublishCoverageResults: |
| 86 | + uses: pyTooling/Actions/.github/workflows/PublishCoverageResults.yml@dev |
62 | 87 | needs:
|
| 88 | + - UnitTestingParams |
63 | 89 | - UnitTesting
|
64 |
| - - Coverage |
65 |
| - - StaticTypeCheck |
66 |
| - - Package |
| 90 | + with: |
| 91 | +# coverage_sqlite_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }} |
| 92 | +# coverage_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_xml }} |
| 93 | + coverage_json_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }} |
| 94 | + coverage_html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }} |
| 95 | + secrets: |
| 96 | + codacy_token: ${{ secrets.CODACY_PROJECT_TOKEN }} |
67 | 97 |
|
68 |
| - PublishOnPyPI: |
69 |
| - uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@dev |
70 |
| - if: startsWith(github.ref, 'refs/tags') |
| 98 | + PublishTestResults: |
| 99 | + uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@dev |
71 | 100 | needs:
|
72 |
| - - Params |
73 |
| - - Release |
74 |
| - - Package |
| 101 | + - UnitTestingParams |
| 102 | + - UnitTesting |
75 | 103 | with:
|
76 |
| - python_version: ${{ needs.Params.outputs.python_version }} |
77 |
| - requirements: -r dist/requirements.txt |
78 |
| - artifact: ${{ fromJson(needs.Params.outputs.artifact_names).package_all }} |
79 |
| - secrets: |
80 |
| - PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} |
| 104 | + merged_junit_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }} |
| 105 | + |
| 106 | +# VerifyDocs: |
| 107 | +# uses: pyTooling/Actions/.github/workflows/VerifyDocs.yml@dev |
| 108 | +# needs: |
| 109 | +# - UnitTestingParams |
| 110 | +# with: |
| 111 | +# python_version: ${{ needs.UnitTestingParams.outputs.python_version }} |
81 | 112 |
|
82 |
| - VerifyDocs: |
83 |
| - uses: pyTooling/Actions/.github/workflows/VerifyDocs.yml@dev |
| 113 | + Documentation: |
| 114 | + uses: pyTooling/Actions/.github/workflows/SphinxDocumentation.yml@dev |
84 | 115 | needs:
|
85 |
| - - Params |
| 116 | + - UnitTestingParams |
| 117 | + - ConfigParams |
| 118 | + - PublishTestResults |
| 119 | + - PublishCoverageResults |
| 120 | +# - VerifyDocs |
86 | 121 | with:
|
87 |
| - python_version: ${{ needs.Params.outputs.python_version }} |
| 122 | + python_version: ${{ needs.UnitTestingParams.outputs.python_version }} |
| 123 | + coverage_report_json_directory: ${{ needs.ConfigParams.outputs.coverage_report_json_directory }} |
| 124 | + unittest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}-ubuntu-native-3.12 |
| 125 | + coverage_json_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }} |
| 126 | + html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_html }} |
| 127 | + latex_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }} |
88 | 128 |
|
89 |
| - BuildTheDocs: |
90 |
| - uses: pyTooling/Actions/.github/workflows/BuildTheDocs.yml@dev |
| 129 | + IntermediateCleanUp: |
| 130 | + uses: pyTooling/Actions/.github/workflows/IntermediateCleanUp.yml@dev |
91 | 131 | needs:
|
92 |
| - - Params |
93 |
| - - VerifyDocs |
| 132 | + - UnitTestingParams |
| 133 | + - PublishCoverageResults |
| 134 | + - PublishTestResults |
| 135 | + - Documentation |
94 | 136 | with:
|
95 |
| - artifact: ${{ fromJson(needs.Params.outputs.artifact_names).documentation_html }} |
| 137 | + sqlite_coverage_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}- |
| 138 | + xml_unittest_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}- |
| 139 | + |
| 140 | +# PDFDocumentation: |
| 141 | +# uses: pyTooling/Actions/.github/workflows/LaTeXDocumentation.yml@dev |
| 142 | +# needs: |
| 143 | +# - UnitTestingParams |
| 144 | +# - Documentation |
| 145 | +# with: |
| 146 | +# document: pyEDAA.ProjectModel |
| 147 | +# latex_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }} |
| 148 | +# pdf_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_pdf }} |
96 | 149 |
|
97 | 150 | PublishToGitHubPages:
|
98 | 151 | uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@dev
|
99 | 152 | needs:
|
100 |
| - - Params |
101 |
| - - BuildTheDocs |
102 |
| - - Coverage |
| 153 | + - UnitTestingParams |
| 154 | + - Documentation |
| 155 | +# - PDFDocumentation |
| 156 | + - PublishCoverageResults |
103 | 157 | - StaticTypeCheck
|
104 | 158 | with:
|
105 |
| - doc: ${{ fromJson(needs.Params.outputs.artifact_names).documentation_html }} |
106 |
| - coverage: ${{ fromJson(needs.Params.outputs.artifact_names).codecoverage_html }} |
107 |
| - typing: ${{ fromJson(needs.Params.outputs.artifact_names).statictyping_html }} |
| 159 | + doc: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_html }} |
| 160 | + coverage: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }} |
| 161 | + typing: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }} |
| 162 | + |
| 163 | + ReleasePage: |
| 164 | + uses: pyTooling/Actions/.github/workflows/Release.yml@dev |
| 165 | + if: startsWith(github.ref, 'refs/tags') |
| 166 | + needs: |
| 167 | + - Package |
| 168 | +# - AppTesting |
| 169 | + - PublishToGitHubPages |
| 170 | + |
| 171 | + PublishOnPyPI: |
| 172 | + uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@dev |
| 173 | + if: startsWith(github.ref, 'refs/tags') |
| 174 | + needs: |
| 175 | + - UnitTestingParams |
| 176 | + - ReleasePage |
| 177 | + with: |
| 178 | + python_version: ${{ needs.UnitTestingParams.outputs.python_version }} |
| 179 | + requirements: -r dist/requirements.txt |
| 180 | + artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }} |
| 181 | + secrets: |
| 182 | + PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} |
108 | 183 |
|
109 | 184 | ArtifactCleanUp:
|
110 | 185 | uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@dev
|
111 | 186 | needs:
|
112 |
| - - Params |
| 187 | + - UnitTestingParams |
113 | 188 | - UnitTesting
|
114 |
| - - Coverage |
115 | 189 | - StaticTypeCheck
|
116 |
| - - BuildTheDocs |
117 |
| - - PublishToGitHubPages |
| 190 | + - Documentation |
| 191 | +# - PDFDocumentation |
118 | 192 | - PublishTestResults
|
| 193 | + - PublishCoverageResults |
| 194 | + - PublishToGitHubPages |
| 195 | +# - PublishOnPyPI |
| 196 | + - IntermediateCleanUp |
119 | 197 | with:
|
120 |
| - package: ${{ fromJson(needs.Params.outputs.artifact_names).package_all }} |
| 198 | + package: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }} |
121 | 199 | remaining: |
|
122 |
| - ${{ fromJson(needs.Params.outputs.artifact_names).unittesting_xml }}-* |
123 |
| - ${{ fromJson(needs.Params.outputs.artifact_names).codecoverage_html }} |
124 |
| - ${{ fromJson(needs.Params.outputs.artifact_names).statictyping_html }} |
125 |
| - ${{ fromJson(needs.Params.outputs.artifact_names).documentation_html }} |
| 200 | + ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_html }}-* |
| 201 | + ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_xml }}-* |
| 202 | + ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }}-* |
| 203 | + ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }}-* |
| 204 | + ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }} |
| 205 | + ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_html }} |
| 206 | + ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }} |
| 207 | + ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_xml }} |
| 208 | + ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }} |
| 209 | + ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }} |
| 210 | + ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }} |
| 211 | + ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_html }} |
| 212 | + ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }} |
| 213 | +# ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).apptesting_xml }}-* |
| 214 | +# ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_pdf }} |
0 commit comments