At Alan, Continuous Integration and Continuous Deployment (CI/CD) are crucial to our operations. We rely on CI/CD to trigger deployments, run static analysis to detect issues, identify leaked secrets, compile iOS/Android applications, build Docker images, and more.
From the beginning, we have used CircleCI for our CI/CD needs. However, in early 2024, we began exploring alternatives and eventually migrated to GitHub Actions.
CircleCI had long been a key piece of our infrastructure, but it became clear that it was no longer scaling effectively with our growing needs.
Our recent migration to a single Git mono-repository significantly improved developer productivity, yet it posed challenges for our CI setup. Maintaining and optimizing the CI configuration became increasingly cumbersome, even with CircleCI’s dynamic configuration options, which resulted in a complex and unwieldy YAML file.
Additionally, our team’s growth and expanded operations led to an unexpected increase in CI costs. Despite having a negotiated yearly contract with a fixed amount of credits (minutes/machine), we were on track to exhaust these credits in just eight months instead of twelve.