CI / CD#

We use GitHub Actions to run all of our automatic workflows. All specification files sit under .github/workflows.

Contents

build_wheels.yml#

Specification file: inlab-geo/espresso

This is to test that wheels can be built on Linux and MacOS.

We are not testing Windows here due to problems with linking. Check the yaml files for detailed reasons.

pr_validation.yml#

Specification file: inlab-geo/espresso

This is a validation for new pull requests and merged ones, mainly running the script:

$ python espresso_machine/build_package/build.py --post

If only a few contribution sub-folders are changed, this workflow will detect a list of changed contributions and run tests only on them:

$ python espresso_machine/build_package/build.py --post -f changed_contribs.txt

publish_pypi.yml#

Specification file: inlab-geo/espresso

This is the workflow we use for deployment to Test PyPI and PyPI.

It relies on secret tokens from our maintainer accounts on PyPI.

routine_check.yml#

Specification file: inlab-geo/espresso

This is triggered daily to run all existing problems in the main branch and automatically raises a pull request if there is a change to the active problems (for example when a problem fails to run).

update_esp_build.yml#

inlab-geo/espresso

The branch esp_build is reserved for the latest package source code. It is updated by this workflow whenever the main branch is updated.