# ADR-0010: CI/CD Platform ## Status Accepted ## Context The platform needs a CI/CD system for: - Automated testing on pull requests - Code quality checks (linting, formatting) - Building binaries and Docker images - Publishing artifacts - Running integration tests Options considered: 1. **GitHub Actions** - Native GitHub integration 2. **GitLab CI** - If using GitLab 3. **Jenkins** - Self-hosted option 4. **CircleCI** - Cloud-based CI/CD ## Decision Use **GitHub Actions** for CI/CD pipeline. **Rationale:** - Native integration with GitHub repositories - Free for public repos, reasonable for private - Rich ecosystem of actions - Easy to configure with YAML - Good documentation and community support - Recommended in playbook.md ## Consequences ### Positive - Easy setup and configuration - Good GitHub integration - Large action marketplace - Free for public repositories ### Negative - Tied to GitHub (if migrating Git hosts, need to migrate CI) - Limited customization compared to self-hosted solutions ### Implementation Notes - Create `.github/workflows/ci.yml` - Use `actions/setup-go@v5` for Go setup - Configure caching for Go modules - Run: linting, unit tests, integration tests, build - Use `actions/cache@v4` for module caching - Add build matrix if needed for multiple Go versions (future)