Skip to content

Commit adf2fce

Browse files
authored
v0.5.0
2 parents 38aa30f + 161438d commit adf2fce

39 files changed

+1242
-460
lines changed

.github/pull_request_template.md

+16-2
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,30 @@
11
# New Features
2-
2+
3+
* tbd
34
* tbd
45

56
# Changes
67

8+
* tbd
79
* tbd
810

911
# Bug Fixes
1012

13+
* tbd
14+
* tbd
15+
16+
# Documentation
17+
18+
* tbd
19+
* tbd
20+
21+
# Unit Tests
22+
23+
* tbd
1124
* tbd
1225

1326
----------
14-
# Related PRs:
27+
# Related Issues and Pull-Requests
1528

1629
* tbd
30+
* tbd

.github/workflows/Pipeline.yml

+157-68
Original file line numberDiff line numberDiff line change
@@ -4,122 +4,211 @@ on:
44
push:
55
workflow_dispatch:
66
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'
89

910
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:*"
1017

11-
Params:
18+
AppTestingParams:
1219
uses: pyTooling/Actions/.github/workflows/Parameters.yml@dev
1320
with:
1421
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"
1527

1628
UnitTesting:
1729
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@dev
1830
needs:
19-
- Params
31+
- UnitTestingParams
2032
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 }}
3338

3439
StaticTypeCheck:
3540
uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@dev
3641
needs:
37-
- Params
42+
- UnitTestingParams
3843
with:
39-
python_version: ${{ needs.Params.outputs.python_version }}
44+
python_version: ${{ needs.UnitTestingParams.outputs.python_version }}
4045
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 }}
4450

45-
PublishTestResults:
46-
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@dev
51+
DocCoverage:
52+
uses: pyTooling/Actions/.github/workflows/CheckDocumentation.yml@dev
4753
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
4964

5065
Package:
5166
uses: pyTooling/Actions/.github/workflows/Package.yml@dev
5267
needs:
53-
- Params
54-
- Coverage
68+
- UnitTestingParams
69+
- UnitTesting
5570
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 }}
5873

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
6287
needs:
88+
- UnitTestingParams
6389
- 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 }}
6797

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
71100
needs:
72-
- Params
73-
- Release
74-
- Package
101+
- UnitTestingParams
102+
- UnitTesting
75103
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 }}
81112

82-
VerifyDocs:
83-
uses: pyTooling/Actions/.github/workflows/VerifyDocs.yml@dev
113+
Documentation:
114+
uses: pyTooling/Actions/.github/workflows/SphinxDocumentation.yml@dev
84115
needs:
85-
- Params
116+
- UnitTestingParams
117+
- ConfigParams
118+
- PublishTestResults
119+
- PublishCoverageResults
120+
# - VerifyDocs
86121
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 }}
88128

89-
BuildTheDocs:
90-
uses: pyTooling/Actions/.github/workflows/BuildTheDocs.yml@dev
129+
IntermediateCleanUp:
130+
uses: pyTooling/Actions/.github/workflows/IntermediateCleanUp.yml@dev
91131
needs:
92-
- Params
93-
- VerifyDocs
132+
- UnitTestingParams
133+
- PublishCoverageResults
134+
- PublishTestResults
135+
- Documentation
94136
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 }}
96149

97150
PublishToGitHubPages:
98151
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@dev
99152
needs:
100-
- Params
101-
- BuildTheDocs
102-
- Coverage
153+
- UnitTestingParams
154+
- Documentation
155+
# - PDFDocumentation
156+
- PublishCoverageResults
103157
- StaticTypeCheck
104158
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 }}
108183

109184
ArtifactCleanUp:
110185
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@dev
111186
needs:
112-
- Params
187+
- UnitTestingParams
113188
- UnitTesting
114-
- Coverage
115189
- StaticTypeCheck
116-
- BuildTheDocs
117-
- PublishToGitHubPages
190+
- Documentation
191+
# - PDFDocumentation
118192
- PublishTestResults
193+
- PublishCoverageResults
194+
- PublishToGitHubPages
195+
# - PublishOnPyPI
196+
- IntermediateCleanUp
119197
with:
120-
package: ${{ fromJson(needs.Params.outputs.artifact_names).package_all }}
198+
package: ${{ fromJson(needs.UnitTestingParams.outputs.artifact_names).package_all }}
121199
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 }}

.idea/pyEDAA.ProjectModel.iml

+5-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/requirements.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
wheel>=0.38.1
2-
twine
1+
wheel ~= 0.44
2+
twine ~= 5.1

0 commit comments

Comments
 (0)