Linux Machine Executor Images - 2021 April (Q2) Update

Hey Everyone!

Our quarterly new Linux machine images are available. The updated Ubuntu 21.04 and Ubuntu 16.04 images are now available:

  • ubuntu-2004:202104-01
  • ubuntu-1604:202104-01

This April refresh updates software included in the image, which can be found below. See the machine executor docs for more information about how to use the machine executor and these images.

What’s New

  • Go has been updated to v1.16. Any Gophers out there know that this release was interesting with Apple Silicone and embedded file support.
  • Gradle 7 also shipped in the Ubuntu 20.04 image.
  • yq is now pre-installed. This is a tool similar to jq and will help users taking advantage of Dynamic Config.

Release Cadence

As a reminder, we have a quarterly release cadence for these images. This is the April update meaning the next two Linux image releases will be in July and October.

Ubuntu 16.04 is now End-of-lifed (EOL)

Ubuntu 16.04 reached the end of its LTS window this month, April 2021 and will no longer be supported by Canonical. As a result, this is the final 16.04 CircleCI machine image to be released by us. We suggest upgrading to the Ubuntu 20.04 image for continued releases and support past April, 2021.

Example

Here’s a quick usage example:

version: 2.1
workflows:
  main:
    jobs:
      - build
jobs:
  build:
    machine:
      image: ubuntu-2004:202101-01
    steps:
      - checkout
      - run: echo "Do some things"

Software

Here is a list of the major software installed on each image. If multiple versions are present, the default is shown here:

Ubuntu 16.04 (ubuntu-1604:202104-01) Ubuntu 20.04 (ubuntu-2004:202104-01)
AWS CLI 1.19.60 2.2.0
Google Chrome 90.0.4430.93 90.0.4430.93
Docker 19.03.15 20.10.6
Docker Compose 1.29.1 1.29.1
Firefox 88.0 88.0
Go 1.16.3 1.16.3
Google Cloud SDK 337.0.0 337.0.0
Gradle 6.5 7.0
Heroku 7.53.0 7.53.0
jq 1.5 1.6
Leiningen 2.9.3 2.9.6
Maven 3.6.3 3.8.1
Node.js 12.22.1 14.16.1
OpenJDK 8 11.0.11
Python 2.7.18 3.9.4
Ruby 3.0.1 3.0.1
SBT 1.3.9 1.4.9
Snapcraft n/a 4.6.3
yq n/a 4.7.1

Looks like the npm version changed in this image to 7.11.1 when Node.js 14.16.1 says it comes with 6.14.12. In the ubuntu-2004:202101-01 image, the npm version is 6.14.11 which lines up closer to it’s Node.js version 14.15.4.

Was this intentional? If so, can you also list npm version changes too.
Thanks!

Thanks for the update!

I’m trying to use the newest 21.04 image on my project with:

jobs:
  build:
    machine:
      image: ubuntu-2104:202104-01

But I get failed to create host: Image ubuntu-2104:202104-01 is not supported.

Is this a typo on your end? Reading the machine executor doc I can see there’s a 20.04 image available with a similar name: ubuntu-2004:202104-01.

If that’s the case it’s pretty sad because I got excited about a newer kernel being available :sweat_smile:

It was a typo. The Linux machine images are only Ubuntu Long-Term Support (LTS) releases.