Recent Releases of Eco-CI
Eco-CI - v4.5 Backfilling for undersampling, better overhead display macOS hotfix
Eco CI has arrived in the spring season with a lovely new release!
- We had a bug in the macOS estimations. The hotfix was already on main for a couple of days. Now coming to the v4 release. All previous data of macOS should be considered unreliable! Please re-run your pipelines
- Eco CI now backfills data. To introduce not too much overhead we sample at 1s. However when steps are very short (2-3s) undersampling hits really hard and you might "miss" 50% of your energy. This is not relevant for many users which run typically 20 minute runs, but we have some users that run ~5s runs for hundrets of times a day. With backfilling we estimate now the last missing part of a second and thus reduce missing data.
- Overhead of Eco CI is now displayed nicer and more clearly in the table. See this:
Happy CI/CD runs everybody!
What's Changed
- macOS Hotfix for CPU utilization by @ArneTR in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/120
- Introducing backfilling of undersampling; Adding notes option for errors by @ArneTR in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/121
Full Changelog: https://github.com/green-coding-solutions/eco-ci-energy-estimation/compare/v4...v4.5
Consumption - Computation and Communication
- Shell
Published by ArneTR 17 days ago
Eco-CI - v4.4.1 Hotfix for Linux
In some circumstances Linux energy values where absurdly high (kW). this hotfix patches the issue
What's Changed
- Hotfix Linux: Different kill mechanism by @ArneTR in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/115
Full Changelog: https://github.com/green-coding-solutions/eco-ci-energy-estimation/compare/v4...v4.4.1
Consumption - Computation and Communication
- Shell
Published by ArneTR 3 months ago
Eco-CI - macOS support
macOS is now supported for the standard GitHub shared runners:
macos-13
macos-14
Find infos here on the assumptions made and parameters set for the energy estimations:
- Parameter assumptions for GitHub Shared runners
- Assumptions and data sources of the underlying non-linear ML model
Thanks to @michaellilltokiwa for testing it out and opening the issue that led to the feature!
What's Changed
- macOS beta-2 - embodied carbon and proper energy profile by @ArneTR in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/112
Full Changelog: https://github.com/green-coding-solutions/eco-ci-energy-estimation/compare/v4...v4.4
Consumption - Computation and Communication
- Shell
Published by ArneTR 3 months ago
Eco-CI - v4.3 - Jenkins support and macOS beta
Hooray, Jenkins support finally has a documentation!
It was available before, but now it has an official place in the documentation. For anyone trying: We love your feedback on it! And also happy to take PRs if you want to contribute to the documentation.
We also added first macOS support. It should work, but is still in beta. Let us know how it works with your runners!
What's Changed
- Added macOS support by @ArneTR in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/110
- Added Jenkins documentation by @ArneTR in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/111
Full Changelog: https://github.com/green-coding-solutions/eco-ci-energy-estimation/compare/v4...v4.3.0
Consumption - Computation and Communication
- Shell
Published by ArneTR 3 months ago
Eco-CI - v4.2- Totals Badges in PR view
Eco-CI will now show Summarized information on PR Comments.
This means that if you push multiple commits to the PR it will not only show the last carbon and energy cost, but the cumulated one.
Thanks to @Zeitsperre for the idea!
Furthermore there are also 30-Day averages, Last-30-Day totals and more! See this PR discussion for details: https://github.com/green-coding-solutions/eco-ci-energy-estimation/issues/107
What's Changed
- Totals badge by @ArneTR in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/108
Full Changelog: https://github.com/green-coding-solutions/eco-ci-energy-estimation/compare/v4...v4.1.0
Consumption - Computation and Communication
- Shell
Published by ArneTR 4 months ago
Eco-CI - v4 Release
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
- Update to cache@v4 by @jan-kiszka in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/71
- Changes the ip resolver from ip-api.com to ipapi.com because of https by @ribalba in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/78
- Pre calculated Machine energy profiles by @ArneTR in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/76
- Better overhead and api by @ArneTR in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/83
- api-base is now github.api_url by default by @ArneTR in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/82
- Bump actions/checkout from 3 to 4 in /.github/workflows by @dependabot in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/93
- Bump actions/setup-node from 3 to 4 in /.github/workflows by @dependabot in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/94
- Update overhead_test.yml by @ribalba in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/90
- Fix indentation of display-results task by @ceddlyburge in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/98
- Testing CarbonDB 2.0 by @ArneTR in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/100
- Microseconds microgramm by @ArneTR in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/101
- Electricitymaps unified by @ArneTR in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/102
- Alpine requires coreutils to get timestamp in microseconds by @davidkopp in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/104
New Contributors
- @jan-kiszka made their first contribution in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/71
- @dependabot made their first contribution in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/93
- @ceddlyburge made their first contribution in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/98
- @davidkopp made their first contribution in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/104
Full Changelog: https://github.com/green-coding-solutions/eco-ci-energy-estimation/compare/v3.1...v4.0.0
Consumption - Computation and Communication
- Shell
Published by ArneTR 6 months ago
Eco-CI - Minor bug fixing 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
- Bug fix by @ribalba https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/90
Consumption - Computation and Communication
- Shell
Published by ribalba 9 months ago
Eco-CI - v4.0-rc1 Pre-Calculated, low dependency & SCI Embodied Carbon
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 https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/71
- Changes the ip resolver from ip-api.com to ipapi.com because of https by @ribalba in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/78
- Pre calculated Machine energy profiles by @ArneTR in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/76
- Better overhead and api by @ArneTR in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/83
- api-base is now github.api_url by default by @ArneTR in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/82
New Contributors
- @jan-kiszka made their first contribution in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/71
Full Changelog: https://github.com/green-coding-solutions/eco-ci-energy-estimation/compare/v3.1...v4.0-rc1
Consumption - Computation and Communication
- Shell
Published by ArneTR 11 months ago
Eco-CI - v3.1 SCI remarks and styling
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
Consumption - Computation and Communication
- Shell
Published by ArneTR about 1 year ago
Eco-CI - v3.0 - CO2 and grid location intensity data
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:
The data is also transmitted to the GMT dashboard and can there be nicely viewed in an overview
Consumption - Computation and Communication
- Shell
Published by ArneTR about 1 year ago
Eco-CI - v2.10
What's Changed
- Adding time to total-data.json and lap-data.json by @nstruharova in https://github.com/green-coding-solutions/eco-ci-energy-estimation/pull/60
Full Changelog: https://github.com/green-coding-solutions/eco-ci-energy-estimation/compare/v2...v2.10
Consumption - Computation and Communication
- Shell
Published by dan-mm about 1 year ago
Eco-CI - v2.9
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
Consumption - Computation and Communication
- Shell
Published by dan-mm about 1 year ago
Eco-CI - Updated references from green-coding.berlin to green-coding.io
All references and endpoints have been updated from .berlin -> .io
Consumption - Computation and Communication
- Shell
Published by dan-mm over 1 year ago
Eco-CI - Configurable github api + better PR formatting
-
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
Consumption - Computation and Communication
- Shell
Published by dan-mm over 1 year ago
Eco-CI - New Github CPU
Github has introduced a new CPU to their VM's - the AMD EPYC 7763. Eco-CI now detects this cpu and can give estimation based on its specs
Consumption - Computation and Communication
- Shell
Published by dan-mm over 1 year ago
Eco-CI - Collapsible Comments
- Visual Clarity QOL: When Eco-CI posts comments on a PR thread with the newest on-push energy reading, it will now edit and collapse old comments in the thread so that only the newest energy reading is displayed.
Consumption - Computation and Communication
- Shell
Published by dan-mm over 1 year ago
Eco-CI - Guard Clause Bugfix
- Fixed guard clause in case one calls display-results without a make-measurement first
Consumption - Computation and Communication
- Shell
Published by dan-mm over 1 year ago
Eco-CI - Minor Improvements
- Workflow names will now be sent to Eco-CI front-end
- if send-data is false, no api calls will be made to get the workflow-id, as its not needed
Consumption - Computation and Communication
- Shell
Published by dan-mm over 1 year ago
Eco-CI - v2.2 - sending CPU utilization stat to Eco-CI front end
Eco-CI will now also send the average cpu utilization stat to our front end view, which has been updated with a more in-depth stats table so you can analyze your pipeline runs :-)
Consumption - Computation and Communication
- Shell
Published by dan-mm over 1 year ago
Eco-CI - Revised view for PR comments
Minor update - changed the view on the PR comments to match the github step summary view, and include the energy graph.
Consumption - Computation and Communication
- Shell
Published by dan-mm over 1 year ago
Eco-CI - v2.1 Github PR Issue Comments
Added the ability for Eco-CI to post a comment on Github pull requests with the energy results.
The workflow must be triggered by a PR, and you must call the display-results task with a new optional flag, pr-comment: True
Eco-CI will now also detect if your machine has a suitable python version available on it, and installs python3.10 if it does not.
Consumption - Computation and Communication
- Shell
Published by dan-mm almost 2 years ago
Eco-CI - Gitlab Integration
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.
Consumption - Computation and Communication
- Shell
Published by dan-mm almost 2 years ago
Eco-CI - v1.4 CPU & Commit-Hash & Duration added incl. a guard clause
Eco-CI now keeps track of the CPU, the duration and the commit hash of the pipeline you are running.
It will display this in the table, but also on https://metrics.green-coding.berlin if you want to send it.
What's Changed
- Testing by @dan-mm in https://github.com/green-coding-berlin/eco-ci-energy-estimation/pull/21
- added timer to measurement steps; send duration time; fixed formattin… by @dan-mm in https://github.com/green-coding-berlin/eco-ci-energy-estimation/pull/22
Full Changelog: https://github.com/green-coding-berlin/eco-ci-energy-estimation/compare/v1.3.1...v1.4
Consumption - Computation and Communication
- Shell
Published by ArneTR almost 2 years ago
Eco-CI - v1.3.1 Test update release
Just some minor test fixes and introducing v1 as the standard release tag for the current API spec.
Full Changelog: https://github.com/green-coding-berlin/eco-ci-energy-estimation/compare/v1.3...v1
Consumption - Computation and Communication
- Shell
Published by ArneTR about 2 years ago
Eco-CI - v1.3 QoL and Feature Release
The main action is unchanged, but we squashed some bugs, made a nicer table view and had some lovely contributions for JSON display, Readme Fixes, Tests, optional flags and much more!
Big thx to @rajbos and @jreimone ❤️
What's Changed
- Convert to API url from environment so it can work inside of GHES as well by @rajbos in https://github.com/green-coding-berlin/eco-ci-energy-estimation/pull/12
- Add test workflow to test the action on changes by @rajbos in https://github.com/green-coding-berlin/eco-ci-energy-estimation/pull/11
- feat(#7): add output to gha for retrieving measured data for total and for every lap as json by @jreimone in https://github.com/green-coding-berlin/eco-ci-energy-estimation/pull/15
New Contributors
- @rajbos made their first contribution in https://github.com/green-coding-berlin/eco-ci-energy-estimation/pull/12
- @jreimone made their first contribution in https://github.com/green-coding-berlin/eco-ci-energy-estimation/pull/15
Full Changelog: https://github.com/green-coding-berlin/eco-ci-energy-estimation/compare/v1.2.0...v1.3
Consumption - Computation and Communication
- Shell
Published by ArneTR about 2 years ago
Eco-CI - v1.2.0
- Badge can now be displayed
- Option to drill down data in separate chart display
What's Changed
- get-measurement step will now also create and display a badge by @dan-mm in https://github.com/green-coding-berlin/eco-ci-energy-estimation/pull/1
- 207 eco ci rewrite by @dan-mm in https://github.com/green-coding-berlin/eco-ci-energy-estimation/pull/2
New Contributors
- @dan-mm made their first contribution in https://github.com/green-coding-berlin/eco-ci-energy-estimation/pull/1
Full Changelog: https://github.com/green-coding-berlin/eco-ci-energy-estimation/compare/v1.1...v1.2.0
Consumption - Computation and Communication
- Shell
Published by ArneTR about 2 years ago
Eco-CI - v1.0
See details on https://www.green-coding.berlin/projects/eco-ci
Consumption - Computation and Communication
- Shell
Published by ArneTR over 2 years ago