.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-guide
to 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-guide
command with the--gh-deploy
option. It also sets up caching to speed up subsequent builds. TheLLM_GEMINI_KEY
secret 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
uv
package manager to install the project and its dependencies and then runspytest
to 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 build
and publishes it to PyPI using thepypa/gh-action-pypi-publish
action. It configures an environment named "release" and requires write permissions for the id-token.