Modern CI Is Too Complex and Misdirected
4 days ago
- #CI
- #Taskcluster
- #Build Systems
- Modern CI platforms like GitHub Actions and GitLab Pipelines have advanced significantly, enabling more reliable and frequent software shipping.
- The complexity of modern CI systems has increased, making them resemble build systems with features like YAML configuration, job dependencies, and caching.
- CI systems and build systems are converging in functionality, with both offering remote execution, artifact exchange, and dependency management.
- The redundancy between CI and build systems suggests that CI functionality should be an extension of the build system, reducing fragmentation and complexity.
- Current CI offerings like GitHub Actions and GitLab Pipelines are more products than platforms, tightly coupling configuration mechanisms with execution services.
- Taskcluster by Mozilla is highlighted as a powerful, generic CI platform with advanced features like IAM-like scopes and ad-hoc task scheduling, but it's complex and not user-friendly for casual users.
- The ideal future CI platform would unify build, CI, and batch execution into a single system, reducing complexity and improving efficiency.
- The market for such a unified system is currently small, making it unlikely for major players to prioritize its development soon.
- Microsoft/GitHub is seen as a potential leader in realizing this vision due to their scale and existing challenges with large build systems.