Skip to content

Commit 507df2a

Browse files
committed
Updated pipeline.
1 parent f94de8b commit 507df2a

File tree

1 file changed

+86
-58
lines changed

1 file changed

+86
-58
lines changed

.github/workflows/Pipeline.yml

Lines changed: 86 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,21 @@ on:
99

1010
jobs:
1111
Prepare:
12-
uses: pyTooling/Actions/.github/workflows/PrepareJob.yml@dev
12+
uses: pyTooling/Actions/.github/workflows/PrepareJob.yml@r6
1313

1414
ConfigParams:
15-
uses: pyTooling/Actions/.github/workflows/ExtractConfiguration.yml@r4
16-
with:
17-
package_name: pyEDAA.CLITool
15+
uses: pyTooling/Actions/.github/workflows/ExtractConfiguration.yml@r6
1816

1917
UnitTestingParams:
20-
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r4
18+
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r6
2119
with:
22-
name: pyEDAA.CLITool
23-
disable_list: windows:*
20+
package_namespace: 'pyEDAA'
21+
package_name: 'CLITool'
22+
exclude_list: 'ubuntu-arm:* windows-arm:*'
23+
disable_list: 'windows:*'
2424

2525
UnitTesting:
26-
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@r4
26+
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@r6
2727
needs:
2828
- ConfigParams
2929
- UnitTestingParams
@@ -97,79 +97,102 @@ jobs:
9797
ghdl version
9898
echo "GHDL_PREFIX=$(realpath $(dirname $(which ghdl))/../lib/ghdl) >> $GITHUB_ENV"
9999
echo "GHDL_PREFIX=$(realpath $(dirname $(which ghdl))/../lib/ghdl)" >> $GITHUB_ENV
100-
requirements: '-r tests/unit/requirements.txt'
101-
unittest_report_xml_directory: ${{ needs.ConfigParams.outputs.unittest_report_xml_directory }}
102-
unittest_report_xml_filename: ${{ needs.ConfigParams.outputs.unittest_report_xml_filename }}
103-
coverage_report_html_directory: ${{ needs.ConfigParams.outputs.coverage_report_html_directory }}
104-
unittest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}
105-
coverage_sqlite_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}
100+
requirements: '-r tests/unit/requirements.txt'
101+
unittest_report_xml: ${{ needs.ConfigParams.outputs.unittest_report_xml }}
102+
coverage_report_html: ${{ needs.ConfigParams.outputs.coverage_report_html }}
103+
unittest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}
104+
coverage_sqlite_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}
106105

107106
StaticTypeCheck:
108-
uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@r4
107+
uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@r6
109108
needs:
110109
- ConfigParams
111110
- UnitTestingParams
112111
with:
113112
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
114-
commands: |
115-
${{ needs.ConfigParams.outputs.mypy_prepare_command }}
116-
mypy --html-report report/typing -p ${{ needs.ConfigParams.outputs.package_fullname }}
117-
html_report: 'report/typing'
118-
html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}
113+
html_report: ${{ needs.ConfigParams.outputs.typing_report_html }}
114+
html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}
115+
116+
CodeQuality:
117+
uses: pyTooling/Actions/.github/workflows/CheckCodeQuality.yml@r6
118+
needs:
119+
- UnitTestingParams
120+
with:
121+
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
122+
package_directory: ${{ needs.UnitTestingParams.outputs.package_directory }}
123+
bandit: 'true'
124+
pylint: 'false'
125+
artifact: CodeQuality
119126

120127
DocCoverage:
121-
uses: pyTooling/Actions/.github/workflows/CheckDocumentation.yml@dev
128+
uses: pyTooling/Actions/.github/workflows/CheckDocumentation.yml@r6
122129
needs:
123-
- ConfigParams
124130
- UnitTestingParams
125131
with:
126132
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
127-
directory: ${{ needs.ConfigParams.outputs.package_directors }}
133+
directory: ${{ needs.UnitTestingParams.outputs.package_directors }}
128134

129135
Package:
130-
uses: pyTooling/Actions/.github/workflows/Package.yml@r4
136+
uses: pyTooling/Actions/.github/workflows/Package.yml@r6
131137
needs:
132138
- UnitTestingParams
133-
- UnitTesting
134139
with:
135140
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
136141
artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }}
137142

143+
# AppTesting?
144+
138145
PublishCoverageResults:
139-
uses: pyTooling/Actions/.github/workflows/PublishCoverageResults.yml@dev
146+
uses: pyTooling/Actions/.github/workflows/PublishCoverageResults.yml@r6
140147
needs:
141148
- ConfigParams
142149
- UnitTestingParams
143150
- UnitTesting
151+
if: success() || failure()
144152
with:
145-
coverage_json_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }}
146-
coverage_report_json_directory: ${{ needs.ConfigParams.outputs.coverage_report_json_directory }}
147-
coverage_report_json_filename: ${{ needs.ConfigParams.outputs.coverage_report_json_filename }}
148-
coverage_html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }}
149-
coverage_report_html_directory: ${{ needs.ConfigParams.outputs.coverage_report_html_directory }}
150-
codecov: true
151-
codacy: true
153+
coverage_report_json: ${{ needs.ConfigParams.outputs.coverage_report_json }}
154+
coverage_report_html: ${{ needs.ConfigParams.outputs.coverage_report_html }}
155+
coverage_json_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }}
156+
coverage_html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_html }}
157+
codecov: 'true'
158+
codacy: 'true'
152159
secrets:
153160
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
154161
CODACY_TOKEN: ${{ secrets.CODACY_TOKEN }}
155162

156163
PublishTestResults:
157-
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@dev
164+
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@r6
158165
needs:
159166
- ConfigParams
160167
- UnitTestingParams
161168
- UnitTesting
169+
if: success() || failure()
162170
with:
163-
testsuite-summary-name: ${{ needs.ConfigParams.outputs.package_fullname }}
164-
merged_junit_filename: ${{ needs.ConfigParams.outputs.unittest_merged_report_xml_filename }}
171+
testsuite-summary-name: ${{ needs.UnitTestingParams.outputs.package_fullname }}
172+
merged_junit_filename: ${{ fromJson(needs.ConfigParams.outputs.unittest_merged_report_xml).filename }}
165173
merged_junit_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}
166-
dorny: true
167-
codecov: true
174+
dorny: 'true'
175+
codecov: 'true'
168176
secrets:
169177
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
170178

179+
Documentation:
180+
uses: pyTooling/Actions/.github/workflows/SphinxDocumentation.yml@r6
181+
needs:
182+
- ConfigParams
183+
- UnitTestingParams
184+
- PublishTestResults
185+
- PublishCoverageResults
186+
with:
187+
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
188+
coverage_report_json: ${{ needs.ConfigParams.outputs.coverage_report_json }}
189+
unittest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}
190+
coverage_json_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }}
191+
html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_html }}
192+
latex_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }}
193+
171194
IntermediateCleanUp:
172-
uses: pyTooling/Actions/.github/workflows/IntermediateCleanUp.yml@r4
195+
uses: pyTooling/Actions/.github/workflows/IntermediateCleanUp.yml@r6
173196
needs:
174197
- UnitTestingParams
175198
- PublishCoverageResults
@@ -178,26 +201,23 @@ jobs:
178201
sqlite_coverage_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_sqlite }}-
179202
xml_unittest_artifacts_prefix: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}-
180203

181-
Documentation:
182-
uses: pyTooling/Actions/.github/workflows/SphinxDocumentation.yml@r4
204+
PDFDocumentation:
205+
uses: pyTooling/Actions/.github/workflows/LaTeXDocumentation.yml@r6
183206
needs:
184-
- ConfigParams
185207
- UnitTestingParams
186-
- PublishTestResults
187-
- PublishCoverageResults
208+
- Documentation
188209
with:
189-
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
190-
coverage_report_json_directory: ${{ needs.ConfigParams.outputs.coverage_report_json_directory }}
191-
unittest_xml_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).unittesting_xml }}
192-
coverage_json_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).codecoverage_json }}
193-
html_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_html }}
194-
latex_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }}
210+
document: ${{ needs.UnitTestingParams.outputs.package_fullname }}
211+
latex_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_latex }}
212+
pdf_artifact: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).documentation_pdf }}
213+
can-fail: 'true'
195214

196215
PublishToGitHubPages:
197-
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@r4
216+
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@r6
198217
needs:
199218
- UnitTestingParams
200219
- Documentation
220+
# - PDFDocumentation
201221
- PublishCoverageResults
202222
- StaticTypeCheck
203223
with:
@@ -206,39 +226,46 @@ jobs:
206226
typing: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).statictyping_html }}
207227

208228
TriggerTaggedRelease:
209-
uses: pyTooling/Actions/.github/workflows/TagReleaseCommit.yml@dev
229+
uses: pyTooling/Actions/.github/workflows/TagReleaseCommit.yml@r6
210230
needs:
211231
- Prepare
212232
- UnitTesting
233+
# - AppTesting
213234
# - StaticTypeCheck
214235
- Package
215236
- PublishToGitHubPages
216-
if: needs.Prepare.outputs.is_release_commit
237+
if: needs.Prepare.outputs.is_release_commit == 'true' && github.event_name != 'schedule'
217238
permissions:
218239
contents: write # required for create tag
219240
actions: write # required for trigger workflow
220241
with:
221242
version: ${{ needs.Prepare.outputs.version }}
222243
auto_tag: ${{ needs.Prepare.outputs.is_release_commit }}
244+
secrets: inherit
223245

224246
ReleasePage:
225-
uses: pyTooling/Actions/.github/workflows/PublishReleaseNotes.yml@dev
226-
if: needs.Prepare.outputs.is_release_tag == 'true'
247+
uses: pyTooling/Actions/.github/workflows/PublishReleaseNotes.yml@r6
227248
needs:
228249
- Prepare
229250
- UnitTesting
251+
# - AppTesting
230252
# - StaticTypeCheck
231253
- Package
232254
- PublishToGitHubPages
255+
if: needs.Prepare.outputs.is_release_tag == 'true'
256+
permissions:
257+
contents: write
258+
actions: write
233259
with:
234260
tag: ${{ needs.Prepare.outputs.version }}
261+
secrets: inherit
235262

236263
PublishOnPyPI:
237-
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@r4
238-
if: startsWith(github.ref, 'refs/tags')
264+
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@r6
239265
needs:
240266
- UnitTestingParams
241267
- ReleasePage
268+
if: needs.Prepare.outputs.is_release_tag == 'true'
242269
with:
243270
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
244271
requirements: '-r dist/requirements.txt'
@@ -247,12 +274,13 @@ jobs:
247274
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
248275

249276
ArtifactCleanUp:
250-
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@r4
277+
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@r6
251278
needs:
252279
- UnitTestingParams
253280
- UnitTesting
254281
- StaticTypeCheck
255282
- Documentation
283+
# - PDFDocumentation
256284
- PublishTestResults
257285
- PublishCoverageResults
258286
- PublishToGitHubPages

0 commit comments

Comments
 (0)