v4.0-rc3 Pre-Calculated, low dependency & SCI Embodied Carbon
Pre-release
Pre-release
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 nowbc
dependency dropped. We are usingawk
now, which was a depency beforehand alreadygo
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 stepdisplay-results
must be actively set to 'true' to enable creating the JSON filesbranch
must only be submitted one instart-measurement
and not in every call toget-measurement
send-data
must only be submitted one instart-measurement
and not in every call toget-measurement
show-carbon
has been renamed tocalculate-co2
to better reflect that actual compute work is doneapi-base
has been renamed togh-api-base
to not confuse with the dashboard api base if you want to host a data drain yourselfmachine-uuid
is now a MUST to be specified. It will not be auto generated anymoremachine-uuid
,company-uuid
andproject-uuid
must only be submitted one instart-measurement
and not in every call toget-measurement
GitLab changes
ECO_CI_JSON_OUTPUT
environment variable must be exported with value 'true' to enable creating JSON filesinitialize_energy_estimator
is not existent anymore. The functionality has been merged intostart_measurement
to simplify the APIECO_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
- @jan-kiszka made their first contribution in #71
Full Changelog: v3.1...v4.0-rc1