At CircleCI, we're committed to ensuring you can build great things. To this end, we have updated our image policies in order to ensure best support for new and existing images. More details about our new image retention policy can be found here: on our Linux, Remote Docker, Android, Windows Discuss posts.
Upcoming brownouts ahead of image deprecation
Throughout 2024 we will be making changes to the following families of images:
- Android
- Windows Server 2019 & 2022
- Linux VM (amd64/arm64)
- Remote Docker (amd64/arm64)
Upgrading to the latest image will bring you better performance, powering your builds with increased speed and efficiency.
Beginning in January 2024, CircleCI has scheduled several brownout periods to draw attention to the upcoming deprecation. During these periods, your work that uses these images will temporarily fail, acting as a reminder to update your images.
Your team’s images
Team members in your organization will receive a list of all impacted images via email
In the format of project name / workflow / job / image-ID
How to update your config
Changing to default, current, edge or supported date tags will allow builds to continue to run with latest versions and avoid being browned out. The following code snippets show where image names can be changed:
# Windows
resource_class: 'windows.medium'
machine:
image: default
# Linux
machine:
image: default
# Remote docker
steps:
# ... steps for building/testing app ...
- setup_remote_docker:
version: docker24
# Android
machine:
image: android:default
For your convenience, we have an image updater that is written in Python to automatically search for any outdated images and open pull requests on repositories that use them.
More information can be found here: https://github.com/CircleCI-Public/image-updater
Updating Orbs
You may need to make additional changes to your config if you are using an Orb that selects a machine image for you. If you're using old and outdated versions CircleCI Orbs that use deprecated images by default you'll need to either:
-
Upgrade the orb to a more recent version (all most recent versions of the CircleCI orbs that use images use non-deprecated images by default). This is the recommended course of action.
-
Ensure that you are explicitly passing in, via the appropriate Orb parameter, the name of a non deprecated image to use.
The following old versions of Orbs use depreciated machine images by default:
-
circleci/android
1.0.0 - 1.0.3- You can override the image used by this orb by passing the
image-name
parameter to theandroid-machine
executor)
- You can override the image used by this orb by passing the
-
circleci/aws-ecr
7.0.0 - 9.0.1- You can override the image used by this orb by passing the
image
parameter to thedefault
executor
- You can override the image used by this orb by passing the
-
circleci/aws-sam-serverless
2.0.0 - 6.0.0- You can override the image used by this orb by passing the
machine_image
parameter to thedeploy
job)
- You can override the image used by this orb by passing the
-
circleci/azure-acr
0.2.1- You can override the image used by this orb by passing the
image
parameter to thedefault
executor
- You can override the image used by this orb by passing the
-
circleci/docker
2.0.0 - 2.2.0- You can override the image used by this orb by passing the
image
parameter to themachine
executor
- You can override the image used by this orb by passing the
-
circleci/gcp-cli
2.0.0 - 2.4.1- You can override the image used by this orb by passing the
image
parameter to themachine
executor
- You can override the image used by this orb by passing the
-
circleci/gcp-gcr
0.15.0 - 0.15.3- You can override the image used by this orb by passing the
image
parameter to thedefault
executor
- You can override the image used by this orb by passing the
-
circleci/windows
- 1.0.0 - 2.1.0- You can override the image used by this orb by passing the
version
parameter to thedefault
executor
- You can override the image used by this orb by passing the
The brownout schedule
Windows (Jan, April, July)
- First deprecation (Jan 29)
- 07:00 UTC → 11:00 UTC (4 hrs)
- 13:00 UTC → 17:00 UTC (4 hrs)
- 20:00 UTC → 00:00 UTC (4 hrs)
- Second deprecation (Apr 30)
- 01:00 UTC → 11:00 UTC (10 hrs)
- 13:00 UTC → 23:00 UTC (10 hrs)
- Third deprecation (Jul 31)
- 00:00 UTC → 00:00 UTC (24 Hours)
- Fourth deprecation (Sep 18)
- 00:00 UTC → 00:00 UTC (24 Hours)
- 00:00 UTC → 00:00 UTC (24 Hours)
- Windows Removal: Sept 30
Remote Docker & Linux (Feb, May, August)
- First deprecation (Mar 4)
- 07:00 UTC → 11:00 UTC (4 hrs)
- 13:00 UTC → 17:00 UTC (4 hrs)
- 20:00 UTC → 00:00 UTC (4 hrs)
- Second deprecation (May 28/29)
- 01:00 UTC → 11:00 UTC (10 hrs)
- 13:00 UTC → 23:00 UTC (10 hrs)
- Third deprecation (Aug 28)
- 00:00 UTC → 00:00 UTC (24 Hours)
- Forth deprecation (~Sep 17)
- 00:00 UTC → 00:00 UTC (24 Hours)
- 00:00 UTC → 00:00 UTC (24 Hours)
- Remote Docker & Linux Removal: Sept 30
Android (March, June, Sept)
- First deprecation (Mar 25)
- 07:00 UTC → 11:00 UTC (4 hrs)
- 13:00 UTC → 17:00 UTC (4 hrs)
- 20:00 UTC → 00:00 UTC (4 hrs)
- Second deprecation (Jun 25)
- 01:00 UTC → 11:00 UTC (10 hrs)
- 13:00 UTC → 23:00 UTC (10 hrs)
- Third deprecation (Sep 18)
- 00:00 UTC → 00:00 UTC (24 Hours)
- 00:00 UTC → 00:00 UTC (24 Hours)
- Android Removal: Sept 30
We kindly ask your engineering team to update your config files at your earliest convenience.
After September 2024 any jobs that run using these images will fail.
We appreciate your attention to this update.
Comments
Article is closed for comments.