Skip to content
CI/CD Platform

CircleCI Execution Environments

Track CircleCI execution environments, convenience image versions, machine executor images, and deprecation timelines. Know when your CI/CD pipelines need updating before images are removed.

10

Docker Images

8

VM Images

4

Current

17

Resource Classes

Convenience Docker Images

Pre-built images in the cimg/* namespace, optimized for CI workloads.

cimg/base
Active

Minimal Ubuntu image with git, Docker, docker-compose, curl, and build tools. Foundation for all other cimg/* images.

cimg/base:current cimg/base:edge cimg/base:2024.12
cimg/node
Active

Node.js image with npm and yarn pre-installed. Supports LTS and current release lines.

cimg/node:22.14 cimg/node:20.18 cimg/node:lts
cimg/python
Active

Python image with pip and virtualenv. Covers Python 3.9 through 3.14.

cimg/python:3.14 cimg/python:3.13 cimg/python:3.12
cimg/go
Active

Go image with the Go toolchain pre-installed. Supports multiple concurrent versions.

cimg/go:1.26 cimg/go:1.25 cimg/go:1.24
cimg/rust
Active

Rust image with rustc, cargo, and rustfmt. Updated with each stable Rust release.

cimg/rust:1.93 cimg/rust:1.92
cimg/ruby
Active

Ruby image with bundler pre-installed. Browser variants available for integration testing.

cimg/ruby:3.4 cimg/ruby:3.3 cimg/ruby:3.2
cimg/openjdk
Active

OpenJDK image for Java builds. Covers LTS releases (11, 17, 21) and latest.

cimg/openjdk:21.0 cimg/openjdk:17.0 cimg/openjdk:11.0
cimg/php
Active

PHP image with Composer pre-installed. Covers PHP 8.1 through 8.4.

cimg/php:8.4 cimg/php:8.3 cimg/php:8.2
cimg/elixir
Active

Elixir image with Erlang/OTP and Mix build tool pre-installed.

cimg/elixir:1.18 cimg/elixir:1.17
cimg/android
Active

Android SDK image with command-line tools, platform tools, and build tools for mobile CI.

cimg/android:2024.12 cimg/android:2024.11

Machine & VM Images

Full virtual machine images for Linux, macOS, Windows, and GPU workloads.

Linux

Ubuntu 24.04 Current
ubuntu-2404:current

Architecture

x64 / Arm64

Available Since

1 Jun 2024

Expected Removal

Latest Ubuntu LTS machine image. Use with resource_class medium, large, xlarge, 2xlarge, or arm.medium/arm.large.

Ubuntu 22.04 Supported
ubuntu-2204:current

Architecture

x64 / Arm64

Available Since

1 May 2022

Expected Removal

1 Apr 2027 (in 1.1y)

Previous default machine image. Still receiving updates. Pin to this if you need Ubuntu 22.04 LTS specifically.

macOS

macOS + Xcode 16.3 Current
xcode: 16.3.0

Architecture

Apple Silicon

Available Since

1 Mar 2025

Expected Removal

Latest Xcode image on Apple Silicon (M-series). Recommended for iOS/macOS builds.

macOS + Xcode 16.2 Supported
xcode: 16.2.0

Architecture

Apple Silicon

Available Since

1 Dec 2024

Expected Removal

Previous Xcode release. Use if your project requires Xcode 16.2 specifically.

macOS + Xcode 16.1 Supported
xcode: 16.1.0

Architecture

Apple Silicon

Available Since

1 Oct 2024

Expected Removal

Older Xcode 16.x release. Consider upgrading to 16.3 for latest SDK.

macOS + Xcode 15.4 Deprecated
xcode: 15.4.0

Architecture

Apple Silicon

Available Since

1 May 2024

Expected Removal

1 Jun 2026 (in 3mo)

Xcode 15.x is nearing end of support. Migrate to Xcode 16.x before removal.

This image is approaching removal. Migrate your pipelines to a newer version.

Windows

Windows Server 2022 Current
windows-server-2022-gui:current

Architecture

x64

Available Since

1 Apr 2022

Expected Removal

Default Windows image. Use via circleci/windows orb or machine executor directly. Includes Visual Studio Build Tools.

GPU

Linux CUDA 12 Current
linux-cuda-12:default

Architecture

x64

Available Since

1 Jan 2024

Expected Removal

GPU-enabled Linux image with CUDA 12 toolkit. Requires gpu.nvidia.* resource class.

Resource Classes

CPU, memory, and credit cost per executor type. Choose the right size for your workload.

Executor Class CPU RAM Credits
Docker small 1 vCPU 2 GB 5/min
medium 2 vCPUs 4 GB 10/min
medium+ 3 vCPUs 6 GB 15/min
large 4 vCPUs 8 GB 20/min
xlarge 8 vCPUs 16 GB 40/min
2xlarge 16 vCPUs 32 GB 80/min
2xlarge+ 20 vCPUs 40 GB 100/min
Machine medium 2 vCPUs 7.5 GB 10/min
large 4 vCPUs 15 GB 20/min
xlarge 8 vCPUs 32 GB 40/min
2xlarge 16 vCPUs 64 GB 80/min
Arm arm.medium 2 vCPUs 8 GB 13/min
arm.large 4 vCPUs 16 GB 26/min
macOS macos.m1.medium.gen1 4 vCPUs 8 GB 50/min
macos.m1.large.gen1 8 vCPUs 16 GB 100/min
GPU gpu.nvidia.small 4 vCPUs + 1 GPU 15 GB 160/min
gpu.nvidia.medium 8 vCPUs + 1 GPU 30 GB 240/min

Deprecated & Removed Images

Images that have been deprecated or removed. Pipelines using these will fail or stop receiving security updates.

Image Type Removed Replacement
Ubuntu 20.04 Machine Machine 1 Nov 2024 ubuntu-2204:current or ubuntu-2404:current
Ubuntu 18.04 Machine Machine 1 Jan 2023 ubuntu-2204:current
circleci/* (legacy images) Docker 1 Jan 2024 cimg/* (next-gen convenience images)
macOS + Xcode 14.x macOS 1 Jun 2025 Xcode 15.4 or 16.x
macOS + Xcode 13.x macOS 1 Jun 2024 Xcode 15.4 or 16.x
Windows Server 2019 Windows 1 Oct 2024 windows-server-2022-gui:current

Migration Quick Reference

Common migration paths and config patterns for CircleCI images.

Migrate from legacy to next-gen images

# Old (deprecated): - image: circleci/python:3.9 # New (next-gen): - image: cimg/python:3.13

Pin machine image versions

# Use :current for auto-updates: image: ubuntu-2404:current # Or pin to a specific snapshot: image: ubuntu-2404:2024.11.1

Arm builds with machine executor

jobs: build-arm: machine: image: ubuntu-2204:current resource_class: arm.medium steps: - checkout - run: uname -a

Browser variants for integration tests

# Add -browsers suffix for Chrome/Firefox: - image: cimg/node:22.14-browsers # Or -node for database images: - image: cimg/postgres:16.0

Frequently Asked Questions

Common questions about CircleCI execution environments and image lifecycle.

What is the difference between Docker executor and machine executor in CircleCI?
The Docker executor runs your job in a Docker container using images like cimg/base or cimg/node. It is faster to start and more resource-efficient. The machine executor runs your job in a full Linux virtual machine, giving you root access, Docker-in-Docker support, and full OS capabilities. Use Docker for most builds, and machine when you need full VM features.
What are CircleCI convenience images (cimg/*)?
Convenience images are pre-built Docker images maintained by CircleCI, designed for CI workloads. They use the cimg/ namespace on Docker Hub (replacing the legacy circleci/ images). Each image targets a specific language or tool, is built on Ubuntu, and includes common CI dependencies like git, curl, and Docker CLI.
How do I choose between cimg/base:current and cimg/base:edge?
Use current for stable, production CI builds. It points to the most recent monthly snapshot and is updated roughly once a month. Use edge for testing new image changes before they hit the monthly snapshot. Edge is built from the HEAD of the main branch and may include untested changes.
When are CircleCI machine images deprecated?
CircleCI deprecates machine images when the underlying OS reaches end of life or when a newer version becomes the default. Deprecation announcements are posted on the CircleCI Discuss forum and in the changelog. Deprecated images stop receiving security patches and are eventually removed, causing builds to fail.
How do CircleCI resource classes affect build cost?
Each resource class consumes credits at a different rate per minute. Larger resource classes (more CPU/RAM) cost more credits but can finish builds faster. Docker small (1 vCPU, 2GB) uses 5 credits/min while Docker 2xlarge (16 vCPU, 32GB) uses 80 credits/min. Choosing the right size for your workload optimizes both speed and cost.
Can I use Arm-based builds on CircleCI?
Yes. CircleCI supports Arm-based Linux builds using the machine executor with arm.medium or arm.large resource classes. Use the same Ubuntu machine image (e.g., ubuntu-2204:current) with an Arm resource class. This is useful for building and testing Arm-native binaries and multi-arch Docker images.

Related Tools & Pages

Data sourced from CircleCI documentation, Developer Hub, and CircleCI-Public GitHub repos. Last updated: 6 Mar 2026.