This directory contains GitHub Actions workflows for CI.
File: ci.yml
Runs automatically on every push and pull request:
- Lint - Code style checks with ruff
- Test - Unit and integration tests with pytest
- Security - Vulnerability scanning with pip-audit and bandit
- Changelog - Verify CHANGELOG.md is updated
All jobs run on GitHub's cloud runners (ubuntu-latest) — safe for public repositories.
Railway automatically deploys when changes are pushed to main:
- Push to
maintriggers Railway build - Railway installs dependencies and builds both services
- Health checks verify the deployment
No GitHub Actions deploy workflow is needed — Railway's GitHub integration handles CD.
See: documentation/guides/ci-cd-pipeline.md
If CI is failing, common issues:
# Fix automatically
ruff format src/ tests/ cli/
# Check for issues
ruff check src/ tests/ cli/# Run tests locally
pytest tests/ -v
# Run specific test
pytest tests/path/to/test.py::test_name -vEvery PR should update CHANGELOG.md under ## [Unreleased]
When submitting a PR:
- Update
CHANGELOG.md - Ensure tests pass:
pytest tests/ -v - Format code:
ruff format src/ tests/ cli/ - Check linting:
ruff check src/ tests/ cli/
CI will verify these automatically when you open a PR.