.github
The .github/workflows directory contains GitHub Actions workflows that automate aspects of the project's development and deployment lifecycle. These workflows are defined using YAML files and are triggered by events such as pushes, pull requests, and releases.
Here's a breakdown of the key files:
-
publish_site.yml: This workflow publishes the self-documentation generated by
repo-guideto GitHub Pages. It's triggered when a new release is created or manually viaworkflow_dispatch. The workflow first runs tests on multiple Python versions. If the tests pass, it then builds and deploys the documentation using therepo-guidecommand with the--gh-deployoption. It also sets up caching to speed up subsequent builds. TheLLM_GEMINI_KEYsecret is used for features that integrate with the Gemini LLM. -
test.yml: This workflow runs tests on multiple Python versions whenever code is pushed or a pull request is made. It uses the
uvpackage manager to install the project and its dependencies and then runspytestto execute the tests. -
publish.yml: This workflow publishes the Python package to PyPI when a new release is created. It first runs tests on multiple Python versions. If the tests pass, it then builds the package using
uv buildand publishes it to PyPI using thepypa/gh-action-pypi-publishaction. It configures an environment named "release" and requires write permissions for the id-token.