GitLab AI Hackathon 2026
View on GitLab →See live carbon report →

GreenPipe

A carbon-aware CI/CD agent that measures, compares, and reduces the carbon footprint of your pipelines. Built on the GitLab Duo Agent Platform with Anthropic. Three specialist agents. One MR comment. Zero excuses.

21
Cloud regions tracked with real grid carbon data
88x
Carbon difference between greenest and dirtiest region
ISO
SCI standard compliant (ISO/IEC 21031)

Your pipelines have a carbon footprint. You just can't see it.

CI/CD pipelines run thousands of times per day. Developers have zero visibility into their environmental impact. GitLab has no native sustainability features — only docs pointing to Eco-CI, a third-party tool that passively measures energy without recommending alternatives. The EU's CSRD requires Scope 3 reporting. Cloud CI/CD is Scope 3.

!
The gap

Running the same pipeline in Stockholm vs Mumbai produces 88x different carbon emissions. But developers can't see this — runner region selection is invisible.

Every DevOps team will need this data for CSRD compliance. Today nobody provides it inside GitLab.

GreenPipe's answer

A GitLab Duo agent that measures, compares, and actively recommends lower-carbon runner regions on every merge request.

Not just measurement — actionable routing. Not a dashboard — native MR comments. Not a separate tool — built into the workflow.

Three agents. One flow. Automatic on every pipeline.

Named specialist agents collaborate in a GitLab Duo custom flow (v1 YAML spec). Each has its own system prompt, toolset, and role. Triggers on pipeline success. Routes through Carbon Scout → Green Analyst → Green Reporter.

AGENT 01
Carbon Scout
Identifies runner region from pipeline metadata. Looks up grid carbon intensity from 21-region dataset. Returns top 5 lowest-carbon alternatives.
gitlab_api_get get_job_logs
AGENT 02
Green Analyst
Estimates energy per job using CCF methodology. Computes SCI = E × I per pipeline (ISO/IEC 21031). Generates cross-region what-if comparison.
gitlab_api_get
AGENT 03
Green Reporter
Finds associated MR. Formats analysis as collapsible markdown. Posts carbon report with routing recommendation. Falls back to issue if no MR.
create_merge_request_note create_issue gitlab_api_get

What developers see on every merge request.

Summary above the fold. Details collapsible. Routing suggestion with specific savings. Methodology always transparent.

GP
GreenPipe bot commented just now

🌱 GreenPipe Carbon Report

Energy~0.0008 kWh
Carbon~0.4 gCO2e
Grid intensity443 gCO2/kWh (Virginia)
SCI~0.4 gCO2e/pipeline
💡 Routing suggestion: Running in eu-north-1 (Stockholm, 8 gCO2/kWh) would reduce emissions by 98%. At 50 pipelines/day, that's ~7 kgCO2e/year saved.
▶ Per-job breakdown    ▶ Cross-region comparison
SCI = E × I per pipeline (ISO/IEC 21031) · CCF methodology · ENTSO-E, EIA, IEA (2024)

21 cloud regions. 88x carbon difference.

Annual lifecycle emissions (gCO2eq/kWh) from ENTSO-E, EIA eGRID, and IEA. The same code, same pipeline, same result — radically different carbon cost depending on where it runs.

Stockholm
8
Montreal
26
Ireland
52
Paris
56
Sao Paulo
61
Oregon
86
N. California
186
Frankfurt
338
Singapore
408
Virginia
443
Tokyo
462
Ohio
531
Mumbai
708

Eco-CI measures. GreenPipe acts.

Eco-CI is the only existing CI/CD sustainability tool. Here's why GreenPipe is fundamentally different.

FeatureEco-CIGreenPipe
ArchitectureYAML task in pipelineNative Duo Agent — triggers automatically
Carbon dataFixed 472 gCO2/kWh default21 regions with real grid data
Routing recommendationsNoneOptimal region + savings %
SCI complianceNoISO/IEC 21031
Cross-region comparisonNo5 alternatives ranked
Output locationPipeline artifactMR comment
SetupEdit .gitlab-ci.yml per projectOne trigger config
ApproachPassive measurementActive recommendation

Standards-based. Transparent. Auditable.

GreenPipe uses established methodologies from the green software engineering community. Every estimate is labeled as approximate, every source is cited, every calculation is reproducible.

E
Energy Estimation

Based on the Cloud Carbon Footprint methodology (Thoughtworks). Uses SPECpower-derived CPU power curves with 50% default utilization and provider-specific PUE values.

energy = (watts / 1000) × hours × PUE

I
Carbon Intensity

Location-based grid emissions from ENTSO-E (Europe), EIA eGRID (US), and IEA (global). Annual lifecycle averages in gCO2eq/kWh. 21 regions across AWS, GCP, Azure.

Stockholm: 8 · Virginia: 443 · Mumbai: 708

R
SCI Score

Follows the Software Carbon Intensity specification (ISO/IEC 21031, Green Software Foundation). Offsets and RECs are excluded — only physical emission elimination counts.

SCI = (E × I) per pipeline

Who this is for.

CSRD Compliance

The EU's Corporate Sustainability Reporting Directive requires Scope 3 emissions reporting. Cloud CI/CD infrastructure is Scope 3. GreenPipe generates the per-pipeline and per-project carbon data that compliance teams need — directly from GitLab, without manual audits.

Platform Engineering

Platform teams managing runner fleets across regions can use GreenPipe's cross-region comparison to make data-driven decisions about runner placement. Route flexible workloads (tests, builds) to greener regions while keeping latency-sensitive jobs local.

Developer Awareness

Most developers have never seen the carbon cost of their pipeline. GreenPipe makes it visible on every MR — not as a guilt metric, but as actionable information. "Your tests could run 98% greener in Stockholm" is a concrete choice, not an abstract obligation.

Green Software Practice

Teams adopting the Green Software Foundation's SCI standard need tooling that computes SCI scores automatically. GreenPipe implements the ISO formula per pipeline and generates the data needed for SCI reporting without modifying existing CI/CD configuration.

Three steps to carbon-aware pipelines.

1
Install

Copy the .gitlab/duo/ directory into your project. The flow YAML and agent config are all you need. No dependencies, no build step.

2
Configure trigger

Go to Automate → Triggers in your project. Create a trigger for pipeline succeeded events. Point it at the GreenPipe flow. Assign your service account.

3
Push code

That's it. Push a commit, let the pipeline run, and GreenPipe will comment on the merge request with a full carbon report including energy estimates, SCI score, and routing recommendations.

Project structure.

gitlab/ ├── .gitlab/duo/flows/greenpipe.yaml # 298 lines — full flow spec ├── .gitlab/duo/agent-config.yml # network policy ├── data/carbon-intensity.json # 21 regions, 5 power profiles ├── docs/methodology.md # energy + SCI calculation ├── docs/regions.md # supported regions + sources ├── AGENTS.md # agent behavior rules ├── README.md # install + usage └── LICENSE # MIT