CI/CD Pipeline
CI (.github/workflows/ci.yml)
Section titled “CI (.github/workflows/ci.yml)”Runs on push and PR to main. Jobs:
lint—ruff format --check .thenruff check .(Python 3.12)test—pytest tests/ -v --tb=short, matrix Python 3.8–3.12.needs: lintso a format miss fails the whole matrix.
Local equivalent (matches CI exactly):
ruff format --check . && ruff check . && pytest tests/ -vRelease (.github/workflows/release.yml)
Section titled “Release (.github/workflows/release.yml)”Triggered on push of a v*.*.* tag. Steps:
- Verify that the tag version matches
pyproject.toml[project].version. If they differ, the release fails. Both__init__.py.__version__andplugin.yaml.versionmust also be bumped (this check only coverspyproject.tomlvs the tag — see RELEASING.md for the full checklist). - Create GitHub Release (no build artifact — Hermes installs directly from the repo).
Pre-commit hook
Section titled “Pre-commit hook”.githooks/pre-commit runs the same three checks (format + lint + tests).
Enable with git config core.hooksPath .githooks.
hermes-telemetry is an independent community plugin for Hermes Agent. It is not affiliated with or endorsed by Nous Research.