Skip to content

Commit e00a775

Browse files
committed
Updated README.
1 parent d324bda commit e00a775

File tree

1 file changed

+34
-11
lines changed

1 file changed

+34
-11
lines changed

README.md

Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,15 @@ This repository gathers reusable CI tooling for testing, packaging and distribut
1010
See [GitHub Actions and GitHub Reusable Workflows](https://pytooling.github.io/Actions/Background.html) for more
1111
background information.
1212

13-
## Reusable workflows
13+
## Reusable Actions
14+
15+
- Artifacts:
16+
- [pyTooling/upload-artifact](https://github.com/pyTooling/upload-artifact): The upload-artifact action will preserve
17+
file attributes like permissions.
18+
- [pyTooling/download-artifact](https://github.com/pyTooling/download-artifact): The download-artifact action will
19+
preserve file attributes like permissions.
20+
21+
## Reusable Workflows
1422

1523
This repository provides 10+ *Reusable Workflows* based on the CI pipelines of the repos in this GitHub organisation,
1624
[EDA²](https://github.com/edaa-org), [VHDL](https://github.com/vhdl), and others. By combining them, Python packages can
@@ -27,31 +35,46 @@ As shown in the screenshots above, the expected order is:
2735
- [Parameters](.github/workflows/Parameters.yml): a workaround for the limitations to handle global variables in
2836
GitHub Actions workflows (see [actions/runner#480](https://github.com/actions/runner/issues/480)).
2937
It generates outputs with artifact names and job matrices to be used in later running jobs.
38+
- [ExtractConfiguration](.github/workflows/ExtractConfiguration.yml): extracts configuration values from
39+
`pyproject.toml` and exposes configured paths and filenames as job output parameters.
40+
- Predefined pipelines:
41+
- [CompletePipeline](.github/workflows/CompletePipeline.yml)
3042
- Code testing/analysis:
43+
- [ApplicationTesting](.github/workflows/ApplicationTesting.yml): like UnitTesting, but running tests using an
44+
installed Python package.
3145
- [UnitTesting](.github/workflows/UnitTesting.yml): run unit test with `pytest` using multiple versions of Python, and
3246
optionally upload results as XML reports. Configuration options to `pytest` should be given via section
33-
`[tool.pytest.ini_options]` in a `pyproject.toml` file.
34-
- [CoverageCollection](.github/workflows/CoverageCollection.yml): collect code coverage data (incl. branch coverage)
35-
with `pytest`/`pytest-cov`/`coverage.py` using a single version of Python (latest). It generates HTML and Cobertura
36-
(XML)reports, upload the HTML report as an artifact, and upload the test results to Codecov and Codacy. Configuration
37-
options to `pytest` and `coverage.py` should be given via section `[tool.pytest.ini_options]` and `[tool.coverage.*]`
38-
in a `pyproject.toml` file.
47+
`[tool.pytest.ini_options]` in a `pyproject.toml` file. Besides test results, also code coverage data (incl. branch
48+
coverage) can be collected using `pytest`/`pytest-cov`/`coverage.py`. Configuration options to `coverage.py` should
49+
be given via section `[tool.coverage.*]` in a `pyproject.toml` file.
50+
While multiple report formats can be created in the job, it's recommended to use `PublishTestResults` and/or
51+
`PublishCoverageResults` to merge results from matrix runs and then generate final reports as XML, JSON or HTML.
52+
Finally, reports can be published to GitHub Pages or cloud services like Codecov and Codacy.
3953
- [StaticTypeCheck](.github/workflows/StaticTypeCheck.yml): collect static type check result with `mypy`, and
4054
optionally upload results as an HTML report.
41-
Example `commands`:
42-
4355
- [VerifyDocs](.github/workflows/VerifyDocs.yml): extract code examples from the README and test these code snippets.
4456
- Packaging and releasing:
4557
- [Release](.github/workflows/Release.yml): publish GitHub Release.
58+
- [NightlyRelease](.github/workflows/NightlyRelease.yml): publish GitHub Release.
4659
- [Package](.github/workflows/Package.yml): generate source and wheel packages, and upload them as an artifact.
4760
- [PublishOnPyPI](.github/workflows/PublishOnPyPI.yml): publish source and wheel packages to PyPI.
4861
- [PublishTestResults](.github/workflows/PublishTestResults.yml): publish unit test results through GH action `dorny/test-reporter`.
62+
- [PublishCoverageResults](.github/workflows/PublishCoverageResults.yml): publish ucode coverage results.
4963
- Documentation:
50-
- [BuildTheDocs](.github/workflows/BuildTheDocs.yml): build Sphinx documentation with BuildTheDocs, and upload HTML as
51-
an artifact.
64+
- [SphinxDocumentation](.github/workflows/PublishCoverageResults.yml): create HTML and LaTeX documentation using
65+
Sphinx.
66+
- [LaTeXDocumentation](.github/workflows/LaTeXDocumentation.yml): compile LaTeX documentation to a PDF file using
67+
MikTeX.
5268
- [PublishToGitHubPages](.github/workflows/PublishToGitHubPages.yml): publish HTML documentation to GitHub Pages.
5369
- Cleanup:
70+
- [IntermediateCleanUp](.github/workflows/IntermediateCleanUp.yml): delete intermediate artifacts.
5471
- [ArtifactCleanUp](.github/workflows/ArtifactCleanUp.yml): delete artifacts.
72+
- ⚠ Deprecated ⚠:
73+
-[CoverageCollection](.github/workflows/CoverageCollection.yml): Use `UnitTesting`, because is can collect code
74+
coverage too. This avoids code duplication in job templates.
75+
-[BuildTheDocs](.github/workflows/BuildTheDocs.yml): Use `SphinxDocumentation`, `LaTeXDocumentation` and
76+
`PublishToGitHubPages`. BuildTheDocs isn't maintained anymore.
77+
5578

5679
### Example pipeline
5780

0 commit comments

Comments
 (0)