Continuous Integration and Continuous Deployment

We have 5 GitHub Actions workflows for CI/CD:

Pre-Commit Hooks

Pre-Commit Hooks

Pre-Commit checks for linting and conventional commit messages are enforced with .github/workflows/pre-commit.yml.

Run Tests

Tests

Unit tests are run with .github/workflows/test.yml.

Semantic Release

Semantic Release

If the tests are successful, changelog is generated, a new version is tagged, and a release is created with .github/workflows/semantic-release.yml.

Build & Deploy

Build & Deploy

If the tests are successful, the app is built and deployed to CapRover with .github/workflows/deploy.yml.

Build & Deploy Sphinx Docs

Build & Deploy Sphinx Docs

If the tests are successful, this documentation is built with Sphinx and its autoapi extension, then prepared for deployment to GitHub Pages with .github/workflows/docs.yml.