Skip to content

[Ubuntu] Breaking change : Docker Engine Version 26.* will be updated to Docker Engine Version 28* from 2025-05-09 #11766

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
5 of 14 tasks
vidyasagarnimmagaddi opened this issue Mar 10, 2025 · 10 comments · May be fixed by #11897

Comments

@vidyasagarnimmagaddi
Copy link
Contributor

Breaking changes

Docker Engine Version 26.* will be removed from Ubuntu Os'es and Docker Engine Version 28* will added

Target date

Image deployment will start on 2025-05-05 and will take 2-3 days

The motivation for the changes

Updating the Docker Engine to Latest version i.e 28*, Customers will be able to use the latest version.

Possible impact

If your projects depend on Docker Engine version i.e 26.* they might be broken

Platforms affected

  • Azure DevOps
  • GitHub Actions

Runner images affected

  • Ubuntu 20.04
  • Ubuntu 22.04
  • Ubuntu 24.04
  • macOS 13
  • macOS 13 Arm64
  • macOS 14
  • macOS 14 Arm64
  • macOS 15
  • macOS 15 Arm64
  • Windows Server 2019
  • Windows Server 2022
  • Windows Server 2025

Mitigation ways

Customers should be able to use the latest version Docker Engine i.e 28.*
N/A

@vidyasagarnimmagaddi vidyasagarnimmagaddi self-assigned this Mar 10, 2025
@vidyasagarnimmagaddi vidyasagarnimmagaddi changed the title [Ubuntu] Breaking change : Docker Engine Version 26.* will be updated to Docker Engine Version 278* from 2025-05-09 [Ubuntu] Breaking change : Docker Engine Version 26.* will be updated to Docker Engine Version 28* from 2025-05-09 Mar 10, 2025
Dustin4444 added a commit to Dustin4444/runner-images that referenced this issue Mar 19, 2025
@Nikfuad
Copy link

Nikfuad commented Mar 27, 2025

The Hill.PDF

@Dustin4444
Copy link

Breaking changes

Docker Engine Version 26.* will be removed from Ubuntu Os'es and Docker Engine Version 28* will added

Target date

Image deployment will start on 2025-05-05 and will take 2-3 days

The motivation for the changes

Updating the Docker Engine to Latest version i.e 28*, Customers will be able to use the latest version.

Possible impact

If your projects depend on Docker Engine version i.e 26.* they might be broken

Platforms affected

  • Azure DevOps[x] GitHub Actions

Runner images affected

  • Ubuntu 20.04[x] Ubuntu 22.04[x] Ubuntu 24.04[ ] macOS 13[ ] macOS 13 Arm64[ ] macOS 14[ ] macOS 14 Arm64[ ] macOS 15[ ] macOS 15 Arm64[ ] Windows Server 2019[ ] Windows Server 2022[ ] Windows Server 2025

Mitigation ways

Customers should be able to use the latest version Docker Engine i.e 28.* N/A

Dustin4444 added a commit to Dustin4444/runner-images that referenced this issue Mar 28, 2025
Fixes actions#11766

Update Docker Engine to Version 28.* in Ubuntu OS images.

* **Update toolset files**
  - Update `images/ubuntu/toolsets/toolset-2004.json` to list Docker Engine Version 28.*, Docker CE CLI Version 28.*, and Docker Compose Version 2.28.0.
  - Update `images/ubuntu/toolsets/toolset-2204.json` to list Docker Engine Version 28.*, Docker CE CLI Version 28.*, and Docker Compose Version 2.28.0.
  - Update `images/ubuntu/toolsets/toolset-2404.json` to list Docker Engine Version 28.*, Docker CE CLI Version 28.*, and Docker Compose Version 2.28.0.

* **Add tests for Docker Engine Version 28.***
  - Add `images/ubuntu/scripts/tests/Docker.Tests.ps1` to include tests for Docker Engine Version 28.*.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/actions/runner-images/issues/11766?shareId=XXXX-XXXX-XXXX-XXXX).
@Dustin4444 Dustin4444 linked a pull request Mar 28, 2025 that will close this issue
@Dustin4444
Copy link

#11891

@Dustin4444
Copy link

Breaking changes

Docker Engine Version 26.* will be removed from Ubuntu Os'es and Docker Engine Version 28* will added

Target date

Image deployment will start on 2025-05-05 and will take 2-3 days

The motivation for the changes

Updating the Docker Engine to Latest version i.e 28*, Customers will be able to use the latest version.

Possible impact

If your projects depend on Docker Engine version i.e 26.* they might be broken

Platforms affected

  • Azure DevOps[x] GitHub Actions

Runner images affected

  • Ubuntu 20.04[x] Ubuntu 22.04[x] Ubuntu 24.04[ ] macOS 13[ ] macOS 13 Arm64[ ] macOS 14[ ] macOS 14 Arm64[ ] macOS 15[ ] macOS 15 Arm64[ ] Windows Server 2019[ ] Windows Server 2022[ ] Windows Server 2025

Mitigation ways

Customers should be able to use the latest version Docker Engine i.e 28.* N/A

@thompson-shaun
Copy link

thompson-shaun commented Apr 4, 2025

It's great to see the upgrade to Docker Engine v28 is in the works!

Unfortunately, it looks like there might be a short time period where the default actions-runner won't behave as expected.

Warning

This will impact users after April 15, 2025 (when cache v2 becomes the default), and before Docker Engine v28 is available by default in the GitHub-hosted runner images.

Working scenarios

Breaking scenarios

  • If you’re only using docker/build-push-action without a setup step, you’re relying on the default Docker/Buildkit from the runner — which is not compatible with cache v2 during this window.
  • If you use setup-buildx-action but override the driver with driver: docker, you’ll also be using the system Buildkit — leading to the same breakage.

Recommended Workaround (Until Runner Images Are Updated)

Use the following setup to ensure your workflow uses a compatible Buildx + BuildKit combo:

  -
    name: Set up Docker Buildx
    uses: docker/setup-buildx-action@v3
    with:
      version: latest

This defaults to the docker-container driver with the latest versions of Buildx and BuildKit.

If you're using compose the setup-compose-action can be used to ensure that docker compose >= 2.33.1

  -
    name: Set up Docker Compose
    uses: docker/setup-compose-action@v1
    with:
      version: latest

Compatibility Table

Scenario Cache v2 Support Notes
docker/setup-buildx-action (default) ✅ Yes Uses docker-container driver with recent Buildkit
docker/setup-buildx-action with driver: docker ❌ No Uses runner's system Buildkit (v27 or older)
docker/setup-docker-action ✅ Yes Installs Docker v28+ with compatible Buildkit
No setup action used ❌ No (starting April 15) Breaks with cache v2 until updated runner images with Docker v28 lands

@HinTak
Copy link

HinTak commented Apr 5, 2025

I am experiencing a ci failure which seems to be a result of this, between ubuntu-22.04 changing from 20250323.1.0 to 20250330.1.0.

The full CI script is at:
https://github.com/kyamagu/skia-python/blob/de658a41204c3626103fc43ce63a37e4ea24f6f2/.github/workflows/ci.yml#L19

And I am using these three actions, basically:

uses: actions/cache@v4
uses: docker/setup-qemu-action@v3
uses: docker://quay.io/pypa/manylinux_2_28_aarch64:2024.07.02-0

The 0323 image finishes with at the post run actions/cache stage:

Post job cleanup.
/usr/bin/tar --posix -cf cache.tzst --exclude cache.tzst -P -C /home/runner/work/skia-python/skia-python --files-from manifest.txt --use-compress-program zstdmt
Sent 0 of 35[2](https://github.com/kyamagu/skia-python/actions/runs/14208007458/job/39809771074#step:13:2)614882 (0.0%), 0.0 MBs/sec
Sent 285506018 of 352614882 (81.0%), 136.1 MBs/sec
Sent 352614882 of 352614882 (100.0%), 162.5 MBs/sec
Cache saved with key: linux-aarch64-skia-0c1[3](https://github.com/kyamagu/skia-python/actions/runs/14208007458/job/39809771074#step:13:3)db4bc725ed731be05ab2f36b3fa1f0ee98a6-3rd-party

While the 0330 image fails to create the cache:

Post job cleanup.
/usr/bin/tar --posix -cf cache.tzst --exclude cache.tzst -P -C /home/runner/work/skia-python/skia-python --files-from manifest.txt --use-compress-program zstdmt
Failed to save: Unable to reserve cache with key linux-aarch64-skia-0de4[2](https://github.com/kyamagu/skia-python/actions/runs/14230690809/job/39931028919#step:13:2)3d1e4b286368db6106fcf58283f9caa8055-3rd-party, another job may be creating this cache.

Should I insert the buildx action in the middle or something? Or should I do something after the docker: action? I feel this is related but not sure what I should do - or should I just wait till April 15?

@HinTak
Copy link

HinTak commented Apr 6, 2025

Sorry for the noise.

Apparently the correct way to handle
"Failed to save: Unable to reserve cache with key ...., another job may be creating this cache." , is to wait for 24 hours (after the "reservation" expires), before re-run. No point in rerunning failed jobs within that period. It has gone through now.

aevesdocker pushed a commit to docker/docs that referenced this issue Apr 9, 2025
## Description

Note about sunset of GitHub Cache service v1 on April 15th, 2025.

## Related issues or tickets

* https://gh.io/gha-cache-sunset
* docker/build-push-action#1345
* docker/setup-buildx-action#414
* moby/buildkit#5896
*
actions/runner-images#11766 (comment)

## Reviews

<!-- Notes for reviewers here -->
<!-- List applicable reviews (optionally @tag reviewers) -->

- [x] Technical review
- [x] Editorial review
- [ ] Product review

Signed-off-by: CrazyMax <[email protected]>
@crazy-max
Copy link
Contributor

Note about sunset of GHA cache service v1 added to our docs: https://docs.docker.com/build/ci/github-actions/cache/#github-cache

@dejwsz
Copy link

dejwsz commented Apr 15, 2025

I think it's good because we had issues with docker engine version 26.x in gh runners during quarkus based images' builds due to problems with files' timestamps, I think this is fixed in docker engine 28.x what should help.

@peteyno36
Copy link

Good update

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

10 participants