This directory contains GitHub-specific configuration files for CI/CD, automation, and project management.
-
ci.yml - Main CI/CD pipeline
- Runs on: Push and PR to
mainanddevelopbranches - Jobs:
test: Runs pytest test suite with API keyscode-quality: Runs Black, Ruff, and Mypy checks
- Python version: 3.11
- Caches pip dependencies for faster builds
- Runs on: Push and PR to
-
pre-commit.yml - Pre-commit hook validation
- Runs on: Push and PR
- Validates all pre-commit hooks in CI
- Caches pre-commit hooks
-
dependency-review.yml - Dependency security review
- Runs on: Pull requests only
- Reviews dependency changes for security issues
- Fails on moderate or higher severity vulnerabilities
- Posts summary comment in PR
Automated dependency updates:
-
Python packages (
pip):- Weekly updates on Mondays
- Groups: langgraph, langchain, development tools
- Max 5 open PRs
- Labels:
dependencies,python
-
GitHub Actions:
- Weekly updates on Mondays
- Max 3 open PRs
- Labels:
dependencies,github-actions
- PULL_REQUEST_TEMPLATE.md: Standard PR template with checklist
Configure these secrets in repository settings for CI workflows:
Settings → Secrets and variables → Actions → New repository secret
Required secrets:
OPENAI_API_KEY: OpenAI API key for LLM operationsTAVILY_API_KEY: Tavily API key for web searchLANGSMITH_API_KEY: LangSmith API key for tracing (optional)
Recommended branch protection rules for main:
- Require pull request reviews before merging
- Require status checks to pass before merging:
test(CI workflow)code-quality(CI workflow)pre-commit(Pre-commit workflow)
- Require branches to be up to date before merging
- Require linear history
Add these badges to your README.md:

- Edit workflow files in
.github/workflows/ - Test in a feature branch
- Verify workflows run successfully
- Merge to main after approval
Edit .github/dependabot.yml to:
- Change update frequency
- Modify PR limits
- Add/remove package groups
- Change reviewers or labels
- Create new
.ymlfile in.github/workflows/ - Define triggers, jobs, and steps
- Test thoroughly
- Document in this README
Tests fail in CI but pass locally:
- Check API keys are configured as secrets
- Verify Python version matches (3.11)
- Check for environment-specific issues
Code quality checks fail:
- Run locally:
black --check .,ruff check .,mypy graphs/ - Fix issues and push again
- Pre-commit hooks should catch these before push
Dependabot PRs fail:
- Review dependency changelog for breaking changes
- Test locally before merging
- Pin versions if needed for stability
If workflows can't post comments or update PRs:
- Check workflow permissions in repository settings
- Ensure
GITHUB_TOKENhas necessary permissions - Review workflow
permissions:section
- Always use feature branches - Never commit directly to
main - Keep PRs focused - One feature/fix per PR
- Review Dependabot PRs promptly - Don't let them pile up
- Monitor workflow runs - Check Actions tab regularly
- Update workflows carefully - Test changes thoroughly