Deprecating Ubuntu 14.04 and 16.04 images: EOL 5/31/22

Applies to: jobs using machine: true or specifying a Machine image based on Ubuntu 14.04 or 16.04.

  • Note: Ubuntu 16.04 has reached the end of its LTS window as of April 2021 and will no longer be supported by Canonical. As a result, ubuntu-1604:202104-01 is the final Ubuntu 16.04 image released by CircleCI. We suggest upgrading to the latest Ubuntu 20.04 image for continued releases and support past April 2021.
  • This also affected our flagging for configurations running with Remote Docker instances - please reference our Discuss Announcement on Remote Docker Environment updates set using setup_remote_docker key

    Please contact support@circleci.com or open a ticket in the CircleCI Support Center with any questions or issues that arise during migration.

Schedule [includes brown-outs]


Please reference our published schedule in our blog post Deprecating Ubuntu 14.04 and 16.04 images


What is a deprecated image?

If you don’t specify a machine image, you are using the default image and you’ll need to take action. 

Currently, when using machine: true  builds are using  a Ubuntu 14.04 image. If you do not specify an image, your build will be using the default image which will be Ubuntu 22.04 as of  31-May-2022. This may lead to a breaking change. You can tell if you fall into this category if any of your jobs look like this:

jobs:
  build:
    machine: true # This is using the default old machine image
    steps:
      - checkout

Or it may look like this which is an example of a 14.04 based image:

jobs:
  build:
    machine:
      image: circleci/classic:201709-01 # This is an image based on Ubuntu 14.04
    steps:
      - checkout

 

How can I know if my project is using deprecated Machine images?

You will see a warning on a job's build details itself, if the job is using a deprecated Machine image.

Screen_Shot_2022-03-14_at_18.29.50.pngNext, if you have the CircleCI CLI tool installed, you can also run `circleci config validate` against your project's .circleci/config.yml. 
The validation will return an error if your project's build config is still referencing deprecated Machine images.

Here is an example from the CLI output when we are referencing a deprecated Machine image.

$ circleci config validate

Error: The config is using a deprecated Linux VM image (circleci/classic:201709-01). Please see https://circleci.com/blog/ubuntu-14-16-image-deprecation/. This error can be ignored by using the '--ignore-deprecated-images' flag.

 

 

How to Locate Image Use using GitHub Search

This does not find executors used via orbs or using the default machine:true - keep in mind if you are using an older version of an orb, it may have an executor using the Ubuntu 14.04 and 16.04 images

How to look for a Ubuntu 16.04 image

Replace CircleCI-Public with the org that needs to be searched. This searches all projects in that org that mention that image:

org:CircleCI-Public ubuntu-1604 path:.circleci filename:config.yml 

How to look for an Ubuntu 14.04 images

Replace CircleCI-Public with the org that needs to be search. This searches all projects in that org that mention that image:

org:CircleCI-Public circleci/classic path:.circleci filename:config.yml


Machine Image Migration Guides

The following options are available, given the deprecation of older images, our recommendation is to update your image following our guides:

 

Documentation

See our documentation update on our newer machine images.

 

 

Was this article helpful?
0 out of 1 found this helpful

Comments

0 comments

Article is closed for comments.