2024 Image Deprecations and Brownouts - Android, Linux VM , Remote Docker, Windows

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:

  1. 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.

  2. 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 the android-machine executor)
  • circleci/aws-ecr 7.0.0 - 9.0.1
    • You can override the image used by this orb by passing the image parameter to the default executor
  • 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 the deploy job)
  • circleci/azure-acr 0.2.1
    • You can override the image used by this orb by passing the image parameter to the default executor
  • circleci/docker 2.0.0 - 2.2.0
    • You can override the image used by this orb by passing the image parameter to the machine executor
  • circleci/gcp-cli 2.0.0 - 2.4.1
    • You can override the image used by this orb by passing the image parameter to the machine executor
  • circleci/gcp-gcr 0.15.0 - 0.15.3
    • You can override the image used by this orb by passing the image parameter to the default executor
  • circleci/windows - 1.0.0 - 2.1.0
    • You can override the image used by this orb by passing the version parameter to the default executor

 

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)

  • 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)

  • 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)

  • 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.

 

 

Was this article helpful?
5 out of 6 found this helpful

Comments

0 comments

Article is closed for comments.