Back to all projects

GCI - Wasteful CI Analyzer

Jayran Duggins, Priyansh Rajusth, Erkin Başol, Maja Bińkowska, Nicolas Loaiza Atehortua.

Group 1.

Paper.Source code.

Continuous Integration (CI) pipelines automatically build and test software when changes are made to a repository. While CI improves software reliability, many runs provide little value while still consuming compute resources and energy. Examples include rerunning jobs after flaky test failures, scheduled workflows running on inactive repositories, and full test suites triggered by documentation-only changes. In this project, we propose GCI, a tool that analyzes CI pipelines to identify and estimate unnecessary energy usage for contribiutors. Given a repository URL, GCI retrieves workflow run data from the GitHub API and analyzes recent CI activity. The tool estimates energy consumption based on runtime and typical CI runner power usage, and classifies runs as productive or wasteful based on predefined patterns. GCI then generates a dashboard summarizing total CI energy usage, the proportion of wasted runs, wasteful code that impacted the metric spike, and recommendations for improving pipeline efficiency. By highlighting hidden energy costs in CI/CD workflows, GCI aims to help developers reduce unnecessary compute usage and encourage more sustainable software development practices.