Continuous integration

We use continuous integration services on GitHub to automatically check if new pull requests do not break anything and meet code quality standards such as a common coding standards. Before setting up Continuous Integration, be sure that you have set up your developer environment, and installed a development version of aeon.

Code quality checks

We use pre-commit for code quality checks (a process we also refer to as “linting” checks).

We recommend that you also set this up locally as it will ensure that you never run into code quality errors when you make your first PR! These checks run automatically before you make a new commit. To setup, simply navigate to the aeon folder and install our pre-commit configuration:

pre-commit install

pre-commit should now automatically run anything you make a commit! Please let us know if you encounter any issues getting this setup.

For a detailed guide on code quality and linting for developers, see coding_standards.

Unit testing

We use pytest for unit testing.

To check if your code passes all tests locally, you need to install the development version of aeon and all extra dependencies.

  1. Install the development version of aeon with developer dependencies:

pip install -e .[dev]

This installs an editable development version of aeon which will include the changes you make.

For trouble shooting on different operating systems, please see our detailed installation instructions.

  1. To run all unit tests, run:

pytest ./aeon

Test coverage

We use coverage, the pytest-cov plugin, and codecov for test coverage.

Infrastructure

This section gives an overview of the infrastructure and continuous integration services we use.

Platform

Operation

Configuration

GitHub Actions

Build/test/distribute on Linux, MacOS and Windows, run code quality checks

.github/workflows/

Read the Docs

Build/deploy documentation

.readthedocs.yml

Codecov

Test coverage

.codecov.yml, .coveragerc