Eco CI is the internal name for a project where we create small tools to make CI pipelines more transparent in terms of their energy usage and also develop small tools that can save energy / CO2 in the pipeline.
Our current work focuses on Github Actions, one of the biggest free continous integration platforms to date.
By integrating our custom Github Actions and Github Apps into your testing workflow you get an automated estimation about the energy cost of the workflow run.
Github Actions runs on Microsoft Azure VMs. In these VMs are direct measurement with something like RAPL is sadly not possible.
We are using our work from our Cloud Energy project to estimate the energy used by these Azure VMs.
The result is an easily integrateable Github Action where you get the energy in Joules for the CI run. It is also possible to get only results for part of the CI run.
The Eco CI Activity Checker was designed for CI workflows that run on a scheduled basis.
Often these run happen even if there was not even a single commit in the last ex. 24 hours, or even if there was a manual run triggered just a couple minutes before the run.
The Eco CI Activity checker skips the test run then and thus saves energy and CO2.
Please for Gitlab our main central Github repository documentation which talks about the Gitlab functionality.
A second savings can be had by re-scheuling jobs that are not time-sensitive to times when the electric grid. This is a planned feature that will be devloped soon as a seperate action.
Also hanging and idling VMs are currently tackled in on of our projects to turn them down and stop wasting idle power Cloud VMs.
Stay tuned on our blog also for updates on this project!