CI/CD Integration
Batho's CI/CD integrations let you automatically build, patch, and store code graph indexes on every commit. This enables fleet-scale repository indexing and gives AI agents instant access to pre-built code graphs without local parsing.
What It Solves​
- No local indexing: AI agents download a pre-built
.bathotransport artifact instead of parsing the entire repository. - Incremental updates: Only changed files are re-indexed, keeping CI cycles fast.
- Cross-platform: Works on both GitHub Actions and GitLab CI.
- Zero-config for consumers: Drop a starter workflow into your repo and go.
Architecture Overview​
Integration Options​
| Approach | Best For | File |
|---|---|---|
| GitHub Fleet Indexer | Repositories you control | github-batho.yaml |
| GitLab CI Fleet Indexer | GitLab-hosted repos | gitlab-batho.yaml |
| Composite Action | Reusable, configurable indexing | action.yml |
| Reusable Workflow | One-liner consumer integration | batho-index.yml |
| Starter Template | Quick copy-paste setup | starter-batho.yml |
Storage Format​
Batho stores the code graph as Apache Arrow IPC files (bsg/current/*.ipc) — plain, memory-mappable files with zero decompression overhead. The transport artifact (artifact_*.batho) is a ZIP of zstd-compressed IPC files, produced by batho export and consumed by batho load.
Next Steps​
- GitHub Actions — Set up fleet indexing on GitHub
- GitLab CI — Set up fleet indexing on GitLab
- Composite Action — Deep dive into the Batho Index action
- Reusable Workflow — Call Batho from any repo in one line
- Starter Template — Copy-paste into your repo
- Fleet Indexer Deep Dive — Understand the incremental patching strategy