Linux Machine Executor - 2024 Q2 Update (Including CUDA)

Hey Everyone!

We’re working on the Q2 update for linux and plan on publishing a few edge releases this week followed by the updated current release next week.

The 2024Q2 Update has now been released to current

I’ll be updating this post with details on each image as they are published.

Linux Machine

They are also available as a dated tags if you wish to pin.

  • ubuntu-2004:2024.04.4
  • ubuntu-2204:2024.04.4

Remote Docker

  - setup_remote_docker:
      version: current

Both available on amd64 and arm64 architecture.

CUDA

CUDA edge images have also been updated. Details on using them can be found on this page: Using the GPU execution environment - CircleCI

Release Cadence

These images are updated quarterly, excluding security updates

Example

Here’s a quick usage example:

version: 2.1
workflows:
  main:
    jobs:
      - build
jobs:
  build:
    machine:
      image: ubuntu-2204:current
    steps:
      - checkout
      - run: echo "Do some things"

Software Versions

Notes:

  • Google Chrome is not available on arm images
  • Some software will have more than one version installed, in those cases the default is shown.

20.04

Package 2024.01.2 2024.04.4
AWS CLI 2.15.16 2.15.40
containerd 1.6.26 1.6.31
Docker 24.0.7 26.0.2
Docker Compose 2.21.0 2.26.1
Firefox 122.0 125.0.1
Google Cloud CLI 458.0.1 471.0.0
Git LFS 3.1.1 3.1.1
Go 1.21.5 1.22.2
Google Chrome 121.0.6167.139 124.0.6367.60
Gradle 8.5 8.7
Leiningen 2.10.0 2.11.2
Maven 3.9.6 3.9.6
Node 20.10.0 20.12.2
OpenJDK 17.0.9 21.0.2
pyenv 2.3.35 2.3.4
Python 3.12.1 3.12.2
Ruby 3.3.0 3.3.0
sbt 1.9.8 1.9.9
yarn 1.22.19 1.22.19
yq 4.40.5 4.43.1

22.04

Package 2024.02.7 2024.04.4
AWS CLI 2.15.17 2.15.40
containerd 1.6.28 1.6.31
Docker 24.0.9 26.0.2
Docker Compose 2.24.5 2.26.1
Firefox 122.0 125.0.1
Google Cloud CLI 458.0.1 471.0.0
Git LFS 3.1.1 3.1.1
Go 1.21.6 1.22.2
Google Chrome 121.0.6167.139 124.0.6367.60
Gradle 8.5 8.7
Leiningen 2.11.1 2.11.2
Maven 3.9.6 3.9.6
Node 20.11.0 20.12.2
OpenJDK 17.0.9 21.0.2
pyenv 2.3.35 2.4.0
Python 3.12.1 3.12.2
Ruby 3.3.0 3.3.0
sbt 1.9.8 1.9.9
yarn 1.22.19 1.22.19
yq 4.40.5 4.43.1

CUDA 11

CUDA 11 extends ubuntu-2004:2024.04.4 and also includes

Package 2023.02.1 2024.04.1
NVIDIA Driver 525.85.12 550.54.15
CUDA Version 11.8 11.8

CUDA 12

CUDA 12 extends ubuntu-2004:2024.04.4 and also includes

Package 2023.05.1 2023.11.1 2024.04.1
NVIDIA Driver 530.30.02 545.23.06 550.54.15
CUDA Version 12.1 12.2 12.4

Note

  • 22.04 was republished in February. At that time we also promoted that image (ubuntu-2204:2024.02.7) to current.

April 3rd Edit

Edge has been updated to use 2024.04.1.

April 4th Edit

Edge has been updated to use 2024.04.2.

April 11th Edit

Edge has been updated to use 2024.04.3.

April 24th Edit

Edge has been updated to use 2024.04.4.

May 7th Edit

Current has been updated

June 5th Edit

Current was updated with a newer kernel to fix an issue with CIFS

Is there a plan to update to JDK 21?

1 Like

I also expected JDK 21 with this release… Because of what was previously communicated.

@Wallman & @gipeshka

Sorry for missing that before. The edge images now contains and defaults to java 21.0.2.

I expect we’ll promote this to current next week.

Feel free to give it a test and let me know if it doesn’t work as you expect.

1 Like

Would you include psql or usql ?

it’s all good, tried Java21 on Edge, works like a charm.

1 Like

I would recommend posting the suggestion to our ideas tracker Images | CircleCI Ideas

current has now been updated to use the new image. Thank you everyone who helped validate it.

There seems to be a problem mounting CIFS file shares on this image. I’ve tried doing the following

      - run:
          name: "Install cifs-utils"
          command: |
            sudo apt-get update && sudo apt-get install -y cifs-utils
      - run:
          name: "Mount file share"
          command: |
            sudo mkdir /mnt/share
            SMB_PATH="//$FILESHARE_STORAGEACCOUNT_NAME.file.core.windows.net/$FILESHARE_NAME"    
            sudo mount -t cifs $SMB_PATH /mnt/share -o username=$FILESHARE_STORAGEACCOUNT_NAME,password=$FILESHARE_STORAGEACCOUNT_KEY,serverino,nosharesock,actimeo=30

It gives the error

^@^@mount error: cifs filesystem not supported by the system
mount error(19): No such device

The images prior to 2024.04.4 seem to work fine. It’s just this latest image that seems to have this problem.

Thanks for reporting this.

I did some digging into this and found that it was most likely caused by this kernel bug: Bug #2060780 “CIFS stopped working/is unstable with kernel updat...” : Bugs : linux package : Ubuntu

I just rebuilt the linux images with the new kernel and they are now available under the edge tag.

Would you be able to try the edge image and confirm it’s working as expected for you now?

@josh.bryans Thanks for the response. I’ve tried it and I can confirm that the edge image behaves as expected. Thanks for looking into this.