Skip to content

CI and CD

nh916 edited this page Jun 9, 2023 · 26 revisions

Trunk

Keeps our code clean, formatted correctly, finds any unused variables, etc.

For the developmet, we are using trunk.io to achieve a consistent coding style, keeps our code clean, formatted correctly, finds any unused variables, spell checking, and more.

You can run ./trunk fmt to auto-format your contributions and ./trunk check to verify your contribution complies with our standard via trunk. We will run the same test automatically before we are able to merge the code.

If you are using Windows, be sure to run trunk fmt through WSL terminal.

Pytest

On each PR Pytest is ran to check the output of the code.

Pytest Code Coverage

  • Using pytest code coverage to see how much of the code the tests cover and it will fail if it is less than the expected 90%

Mypy

Using mypy to test on every push and PR to check that the types are all working and logical

Doctests

using Pytest doctest module to check that all the documentation code tests are working correctly

CodeQL

CodeQL helps report any vulnerabilities within the code base to keep our code secure.

Dependency Scanner

Dependency scanner checks any dependencies that we are using for any vulnerabilities, to be sure we are not introducing any vulnerabilities into the users computer through our code or any package that we are using.

Docs

Within .github/workflows/docs.yaml is the workflow to build the documentation from docstrings within src/cript/ and MD files then push to the built html and css to gh-pages branch. The repository is configured to listen to the gh-pages branch for any pushes. Once there has been a push to gh-pages GitHub pages deploys deploys the new changes to the repositories GitHub pages URL. The workflow closely follows Material MKDocs documentation. Refer to documentation wiki page for more information

Clone this wiki locally