Devops

GitHub Actions

blocklib is automatically built and tested using GitHub actions.

There are currently three workflows:

Testing

The testing workflow is defined in the script .github/workflows/python-test.yml.

It consists of two jobs

  • Unit tests - tests the library using pytest with different combinations of python versions and operating systems.

  • Notebook tests - tests the tutorial notebooks using pytest.

Type Checking

The type checking workflow is defined in the script .github/workflows/typechecking.yml. It runs typechecking with mypy.

Build and Publish

The build and publish workflow is defined in the script .github/workflows/build_publish.yml.

It consists of two jobs:

  • Build distribution Packages - packages blocklib into wheels and saves the build artifacts.

  • Publish to PyPI - uploads the built artifacts to PyPI.

Note

The Publish to PyPI job is only triggered on a GitHub release.