Skip to content
Latchkey

How to Run CI in Lower-Carbon Cloud Regions

Identical compute in a hydro-powered region emits a fraction of the carbon it would on a coal-heavy grid.

Cloud regions differ widely in grid carbon intensity. Pinning self-hosted CI runners (and deploy targets) to a lower-carbon region cuts emissions for the same workload, with latency and data-residency as the constraints to weigh.

Steps

  • Check provider grid-carbon data to rank candidate regions.
  • Provision the self-hosted runner pool in a low-carbon region that meets latency needs.
  • Label runners by region so workflows can target them.

Target a region label

.github/workflows/ci.yml
jobs:
  build:
    runs-on: [self-hosted, region-hydro]
    steps:
      - uses: actions/checkout@v4
      - run: npm ci && npm run build

Tradeoffs

  • A distant clean region can add network latency and cross-region egress cost.
  • Data-residency rules may pin where a job can legally run; check before moving it.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →