Skip to content

Cambridge-ICCS/green-ci

Green Software Engineering Practices for GitHub Actions Continuous Integration (CI) workflows

In this repository, we encourage the use of green software engineering practices in continuous integration (CI) workflows implemented with GitHub Actions. It provides documentation and templates on how to optimise CI pipelines to reduce energy consumption, minimise resource usage, and promote sustainable software development practices. By adopting these strategies, developers can reduce the carbon footprint of their work and contribute to environmentally friendly software engineering while maintaining efficient and reliable CI processes.

Documentation

The documentation for green-ci is hosted at https://cambridge-iccs.github.io/green-ci/. The pages there include a review of the existing literature, best practices for green CI, usage instructions for the green-ci templating tool, and information on communities related to green software engineering more generally.

Usage

This repository provides templates for GitHub Actions workflows that can be used as a starting point for implementing green software engineering practices in CI pipelines. To use the templates, use copier with instructions below. You can then modify the workflow files to suit your specific needs, such as changing the triggers, adding or removing jobs, and adjusting the time limits.

You will need to pip install copier, then you can create a new module via:

copier copy https://github.com/Cambridge-ICCS/green-ci.git /path/to/my-project

Note

You will be prompted to enter some information, such as the triggers for the workflow, the timeout limits, and whether this workflow should be carbon aware (extra monitoring for energy usage).

You can also use it via uvx copier if you have uv installed.

Contributing

The green-ci package is open source and is licensed under a permissive MIT license. We very much welcome contributions. Please read the CONTRIBUTING.md and CODE_OF_CONDUCT.md documents before starting your first contribution.

About

Green software engineering practices for continuous integration (CI) workflows with GitHub Actions

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors