Workflows
Test
- Run the tests on every push/pull_request to the main branch.
- Writes a coverage report using pytest-cov and uploads it to codecov.io.
- Tests run against python versions 3.8 and 3.9.
- Optional manual trigger in the github actions tab.
Lint
- Run the linting tools on every push/pull_request to the main branch.
- Includes pre-commit hooks, black, isort, flake8, pylint, and mypy.
- Optional manual trigger in the github actions tab.
Release
- Build a wheel distribution, build a docker image, create a github release, and publish to PyPI and Docker Hub whenever a new tag is created.
- Linting and testing steps must pass before the release steps can begin.
- Documentation is automatically published to the docs branch and hosted on github pages.
- All github release tags, docker image tags, and PyPI version numbers are in agreement with one another and follow semantic versioning standards.
Build and Publish Docs
- Build the documentation, publish to the docs branch, and release to github pages.
- Runs only on a manual trigger in the github actions tab.
Build and Publish Docker Image
- Build the docker image, tag it with the branch name, and publish it to dockerhub.
- Runs only a manual trigger in the github actions tab.