Skip to content

Releases: green-coding-solutions/eco-ci-energy-estimation

v4 Release

24 Oct 11:13
86f1b2e
Compare
Choose a tag to compare

Important: First of all thanks to our many contributors for this new version ❤️

New features

  • Eco-CI is now greatly reduced in overhead. Most of the changes we describe in the pre-release notes.

    • The footrpint is greatly reduced from > 200 MB to < 1 MB
    • The overhead is reduced from ~ 20 seconds to almost zero due to pre-calculation of the power profiles
  • Eco-CI is now compatible with the new GMT endpoint format /v2/ci/measurement/add

    • This is mostly an internal change, but allows you to use CarbonDB 2.0

What's Changed

New Contributors

Full Changelog: v3.1...v4.0.0

Minor bug fixing release

07 Aug 17:43
19b157f
Compare
Choose a tag to compare
Pre-release

This release fixes a bug that if the labels include invalid (as in shell specific) characters it would fail to display the results.

What's Changed

v4.0-rc3 Pre-Calculated, low dependency & SCI Embodied Carbon

18 Jun 10:23
93ceb3e
Compare
Choose a tag to compare

The functionality of Eco-CI has been rewritten down to it's core.

Although the general concept is still the same (we use Cloud Energy to generate power data based in CPU utilization) we dropped a humongous amount of dependencies and shaved off almost 100x in terms of overhead.

It looks pretty stable in our initial tests on different GitHub machines, still we are releasing this as a release candidate for now

Key facts and architectural changes:

  • Cloud Energy power curves are now pre-calculated in bash variable file instead of dynamically inferenced
  • python3 dependecy dropped. We are using pure bash now
  • bc dependency dropped. We are using awk now, which was a depency beforehand already
  • go dependency dropped. The graph functionality has simply been removed. It was a nice gimmick but provided very few actionable insights
  • Caching dropped. There is simply nothing anymore to cache :)
  • Support of ARM runners added implicitly
  • Support for Ubuntu 20.04 added implicitly
  • Overhead reduced from 23s for initial download and ML training step to 200ms for bash inferencing on pre-calculated files
  • Embodied carbon has been added to truly output an SCI score. Before it was using a fixed constant

We also changed the API with the intent to simplify it. Please note that these changes might be breaking changes, depending on the complexity of your integration.

GitHub breaking Changes

  • json-output in step display-results must be actively set to 'true' to enable creating the JSON files
  • branch must only be submitted one in start-measurement and not in every call to get-measurement
  • send-data must only be submitted one in start-measurement and not in every call to get-measurement
  • show-carbon has been renamed to calculate-co2 to better reflect that actual compute work is done
  • api-base has been renamed to gh-api-base to not confuse with the dashboard api base if you want to host a data drain yourself
  • machine-uuid is now a MUST to be specified. It will not be auto generated anymore
  • machine-uuid, company-uuid and project-uuid must only be submitted one in start-measurement and not in every call to get-measurement

GitLab changes

  • ECO_CI_JSON_OUTPUT environment variable must be exported with value 'true' to enable creating JSON files
  • initialize_energy_estimator is not existent anymore. The functionality has been merged into start_measurement to simplify the API
  • ECO_CI_MACHINE_UUID is now a MUST to be specified. It will not be auto generated anymore

What's Changed

  • Update to cache@v4 by @jan-kiszka in #71
  • Changes the ip resolver from ip-api.com to ipapi.com because of https by @ribalba in #78
  • Pre calculated Machine energy profiles by @ArneTR in #76
  • Better overhead and api by @ArneTR in #83
  • api-base is now github.api_url by default by @ArneTR in #82

New Contributors

Full Changelog: v3.1...v4.0-rc1

v3.1 SCI remarks and styling

21 Apr 17:19
7333e9a
Compare
Choose a tag to compare

No new functionality. Just the CO2eq output is now marked as SCI.

Also links to https://greensoftware.foundation/articles/use-case-automated-sci-measurements-with-green-metrics-tool and to electricitymaps for clarification that we use location based grid intensity

v3.0 - CO2 and grid location intensity data

20 Apr 20:47
cdd3d00
Compare
Choose a tag to compare

A long awaited feature: Eco-CI can now show Carbon Grid Intensity Data and also then show the CO2e for the run.

See an example of a Pull Request here:
Screenshot 2024-04-20 at 10 43 55 PM

The data is also transmitted to the GMT dashboard and can there be nicely viewed in an overview

Screenshot 2024-04-20 at 10 44 31 PM

v2.10

23 Feb 16:36
0092c75
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2...v2.10

Gitlab Integration

26 Jun 16:02
0092c75
Compare
Choose a tag to compare

Eco-CI is now available for Gitlab pipelines. Instructions on how to use with Gitlab projects can be found in the readme.

Improved front end here: https://metrics.green-coding.berlin/ci-index.html

Bugfixes:

  • Corrected RAM values for the XGBoost Model (they did not account for vhost ratio). If you notice different (likely higher) energy values from your pipelines than what you had before, this is likely the reason why. They should be more accurate now.
  • Correctly reset venv for python projects in pipelines when running XGBoost model, if such a virtual environment was present.

v2.9

15 Feb 13:45
29d49af
Compare
Choose a tag to compare

New Features

  • added support for Intel Core i9-9880H (thanks @nstruharova !)

Tweaks

  • if vhost-ratio is not set, model will run without this input parameter
  • changed references from green-coding-berlin -> green-coding-solutions

Updated references from green-coding.berlin to green-coding.io

18 Jan 06:54
3997408
Compare
Choose a tag to compare

All references and endpoints have been updated from .berlin -> .io

Configurable github api + better PR formatting

12 Dec 14:47
9550208
Compare
Choose a tag to compare
  • you can now set a custom api url, for all github enterprise users. By default, this is set to 'api.github.com', but you can set it to something different for github api calls

  • cleaner looking formatting in minimized comments in PR's