Overview
This applies to jobs using machine: true
or specifying a Machine image based on Ubuntu 14.04 or 16.04. 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.
Note: 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 CircleCI Support 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 for important dates regarding the deprecation.
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.
Next, 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.
Comments
Article is closed for comments.