Skip to content

Commit ae6f532

Browse files
committed
Improved landing page.
1 parent 2fe6be1 commit ae6f532

File tree

4 files changed

+113
-17
lines changed

4 files changed

+113
-17
lines changed

doc/JobTemplate/AllInOne/CompletePipeline.rst

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -74,22 +74,7 @@ It can be used for simple Python packages as well as namespace packages.
7474

7575
.. topic:: Behavior
7676

77-
1. Infer information from ``${{ github.ref }}`` variable.
78-
2. Extract Python project settings from :file:`pyproject.toml`.
79-
3. Compute job matrix based on system, Python version, environment, ... for job variants.
80-
4. Run unit tests using pytest and collect code coverage.
81-
5. Run platform tests using pytest and collect code coverage.
82-
6. Run application tests using pytest.
83-
7. Package code as wheel.
84-
8. Check documentation coverage using docstr_coverage and interrogate.
85-
9. Verify type annotation using static typing analysis using mypy.
86-
10. Merge unit test results and code coverage results.
87-
11. Generate HTML and LaTeX documentations using Sphinx.
88-
12. Translate LaTeX documentation to PDF using MikTeX.
89-
13. Publish unit test and code coverage results to cloud services.
90-
14. Publish documentation to GitHub Pages.
91-
15. Publish wheel to PyPI.
92-
16. Create a GitHub release page and upload release assets.
77+
.. include:: _Behavior.rst
9378

9479

9580
.. topic:: Pipeline Graph
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
1. Infer information from ``${{ github.ref }}`` variable.
2+
2. Extract Python project settings from :file:`pyproject.toml`.
3+
3. Compute job matrix based on system, Python version, environment, ... for job variants.
4+
4. Run unit tests using pytest and collect code coverage.
5+
5. Run platform tests using pytest and collect code coverage.
6+
6. Run application tests using pytest.
7+
7. Package code as wheel.
8+
8. Check documentation coverage using docstr_coverage and interrogate.
9+
9. Verify type annotation using static typing analysis using mypy.
10+
10. Merge unit test results and code coverage results.
11+
11. Generate HTML and LaTeX documentations using Sphinx.
12+
12. Translate LaTeX documentation to PDF using MikTeX.
13+
13. Publish unit test and code coverage results to cloud services.
14+
14. Publish documentation to GitHub Pages.
15+
15. Publish wheel to PyPI.
16+
16. Create a GitHub release page and upload release assets.

doc/index.rst

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,12 +65,48 @@ Example Pipelines
6565
* Set the ``name`` input of job ``Parameters``.
6666
* Specify the ``commands`` input of job ``StaticTypeCheck``.
6767

68+
.. rubric:: Behavior
69+
70+
.. include:: JobTemplate/AllInOne/_Behavior.rst
71+
6872
.. grid-item::
6973
:columns: 6
7074

7175
.. tab-set::
7276

77+
.. tab-item:: Directory Structure
78+
79+
.. code-block::
80+
81+
<RepositoryRoot>/
82+
.github/
83+
workflows/
84+
Pipeline.yml
85+
dist/
86+
requirements.txt
87+
docs/
88+
conf.py
89+
index.rst
90+
requirements.txt
91+
myPackage/
92+
ModuleA.py
93+
__init__.py
94+
py.typed
95+
tests/
96+
unit/
97+
TestA.py
98+
requirements.txt
99+
requirements.txt
100+
.editorconfig
101+
.gitignore
102+
LICENSE.md
103+
pyproject.toml
104+
README.md
105+
requirements.txt
106+
setup.py
107+
73108
.. tab-item:: Simple Package
109+
:selected:
74110

75111
.. code-block:: yaml
76112
@@ -123,6 +159,65 @@ Example Pipelines
123159
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
124160
CODACY_TOKEN: ${{ secrets.CODACY_TOKEN }}
125161
162+
.. tab-item:: :file:`pyproject.toml`
163+
164+
.. code-block:: toml
165+
166+
[build-system]
167+
requires = ["setuptools >= 80.0", "wheel ~= 0.45", "pyTooling ~= 8.5"]
168+
build-backend = "setuptools.build_meta"
169+
170+
[tool.mypy]
171+
packages = ["myPackage"]
172+
python_version = "3.13"
173+
strict = true
174+
pretty = true
175+
show_error_context = true
176+
show_error_codes = true
177+
namespace_packages = true
178+
html_report = "report/typing"
179+
180+
[tool.pytest]
181+
junit_xml = "report/unit/UnittestReportSummary.xml"
182+
183+
[tool.pyedaa-reports]
184+
junit_xml = "report/unit/unittest.xml"
185+
186+
[tool.pytest.ini_options]
187+
addopts = "--tb=native"
188+
python_files = "*"
189+
python_functions = "test_*"
190+
filterwarnings = ["error::DeprecationWarning", "error::PendingDeprecationWarning"]
191+
junit_logging = "all"
192+
193+
[tool.interrogate]
194+
color = true
195+
verbose = 1 # possible values: 0 (minimal output), 1 (-v), 2 (-vv)
196+
fail-under = 59
197+
ignore-setters = true
198+
199+
[tool.coverage.run]
200+
branch = true
201+
relative_files = true
202+
omit = ["*site-packages*", "setup.py", "tests/unit/*"]
203+
204+
[tool.coverage.report]
205+
skip_covered = false
206+
skip_empty = true
207+
exclude_lines = ["pragma: no cover", "raise NotImplementedError"]
208+
omit = ["tests/*"]
209+
210+
[tool.coverage.xml]
211+
output = "report/coverage/coverage.xml"
212+
213+
[tool.coverage.json]
214+
output = "report/coverage/coverage.json"
215+
216+
[tool.coverage.html]
217+
directory = "report/coverage/html"
218+
title="Code Coverage of myPackage"
219+
220+
126221
.. image:: _static/pyTooling-Actions-SimplePackage.png
127222

128223

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,4 @@ output = "report/coverage/coverage.json"
7777

7878
[tool.coverage.html]
7979
directory = "report/coverage/html"
80-
title="Code Coverage of pyDummy"
80+
title="Code Coverage of myPackage"

0 commit comments

Comments
 (0)