DCR-CORE - Development - 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
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
standards
are:- set up
Python
,pip
andpipenv
- install the development specific packages with
pipenv
- compile the
Python
code - 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_development
are:- set up
Python
,pip
andpipenv
- install the
development
specific packages withpipenv
- compile the
Python
code - install Pandoc, Poppler, Tesseract OCR and TeX Live
- run pytest for writing better program
- set up
-
in the action
test_production
are:- set up
Python
,pip
andpipenv
- install the
production
specific packages withpipenv
- compile the
Python
code - install Pandoc, Poppler, Tesseract OCR and TeX Live
- run pytest for writing better program
- set up