cci (common-ci) is a tool that generates CI/CD configurations for popular platforms like Github Actions and Gitlab CI. Imagine Terraform, but for CI pipelines.
There are three main advantages to generating your CI workflows/pipelines:
- You can get started really quickly for projects in popular ecosystems
- You don't have to write any Yaml
- You're not locked into a single CI platform because
The downside is, of course, you don't get the full flexiblity of writing your own configuration.
-
rust-library - Comprehensive CI for Rust libraries
- Tests with coverage (tarpaulin + codecov)
- Linting (clippy)
- Formatting checks (rustfmt)
- Security scanning (cargo-audit)
-
rust-binary - CI for Rust binaries
- All features from rust-library
- Build job with artifact upload
- Automated releases on tags
- python-app - Python applications
- Tests with coverage (pytest + codecov)
- Type checking (mypy)
- Code formatting (black)
- Security scanning (safety)
- go-app - Go applications
- Tests with coverage
- Linting (golangci-lint)
- Security scanning (gosec)