GitHub Actions

The project uses several workflows using GitHub Actions to maintain code quality and confirm that the package and website are building correctly. The actions are defined in .github/workflowsdirectory and currently include:

pre-commit_autoupdate.yaml

This workflow runs every week at midnight on Monday and creates a new pull request to update the pre-commit actions.

pyrealm_ci.yaml

This workflow runs when a pull request is opened and when new commits are made to an existing pull request. It is the main quality assurance check on new code and runs three jobs:

  • code quality assurance (qa): does the code pass all the pre-commit checks.

  • code testing (test): do all the unit and regression tests pass.

  • documentation building (docs_build): does the documentation build correctly.

If any of those checks fail, you will need to push new commits to the pull request to fix the outstanding issues. The status of code checking for pushed commits can be seen at:

https://github.com/ImperialCollegeLondon/pyrealm/actions

Although GitHub Actions automates these steps for any pushes, pull requests and releases on the repository, you should also perform the same steps locally before submitting code to ensure that your code passes testing.

pyrealm_publish.yaml

This workflow runs when a release is made on the GitHub site and uses trusted publishing to build the package and publish it on PyPI.