DCR - Developing - Continuous Delivery
The GitHub Actions are used to enforce the following good practices of the software engineering process in the CI/CD process:
- uniform formatting of all source code,
- static source code analysis,
- execution of the software testing framework, and
- creation of up-to-date user documentation.
The action standards in the GitHub Actions guarantees compliance with the required standards, the action test_production ensures error-free compilation for production use and the action test_development runs the tests against various operating system and Python versions.
The actions test_development and test_production must be able to run error-free on operating system Ubuntu 22.04 and with Python version 3.10, the action standards is only required error-free for the latest versions of Ubuntu and Python.
The individual steps to be carried out
-
in the action
standardsare:- set up
Python,pipandpipenv - install the development specific packages with
pipenv - compile the
Pythoncode - format the code with isort, Black and docformatter
- lint the code with Bandit, Flake8, Mypy and Pylint
- check the API docs with pydocstyle
- create and upload the user docs with Pydoc-Markdown and Mkdocs
- install Pandoc, Poppler, Tesseract OCR and TeX Live
- publish the code coverage results to
coveralls.io
- set up
-
in the action
test_developmentare:- set up
Python,pipandpipenv - install the
developmentspecific packages withpipenv - compile the
Pythoncode - install Pandoc, Poppler, Tesseract OCR and TeX Live
- run pytest for writing better program
- set up
-
in the action
test_productionare:- set up
Python,pipandpipenv - install the
productionspecific packages withpipenv - compile the
Pythoncode - install Pandoc, Poppler, Tesseract OCR and TeX Live
- run pytest for writing better program
- set up