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#
The branch esp_build
is reserved for the latest package source code. It is updated
by this workflow whenever the main
branch is updated.