The Ubuntu 20.04 runner image will be fully unsupported by April 1, 2025. To raise awareness of the upcoming removal, we will temporarily fail jobs using Ubuntu 20.04. Builds that are scheduled to run during the brownout periods will fail. The brownouts are scheduled for the following dates and times:
March 4 14:00 UTC – 22:00 UTC
March 11 13:00 UTC – 21:00 UTC
March 18 13:00 UTC – 21:00 UTC
March 25 13:00 UTC – 21:00 UTC
What you need to do
Jobs using the ubuntu-20.04 YAML workflow label should be updated to ubuntu-22.04, ubuntu-24.04 or ubuntu-latest. You can always get up-to-date information on our tools by reading about the software in the runner images repository. Please contact GitHub Support if you run into any problems or need help.
In the repositories I’m involved, in all cases where ubuntu-20.04 is explicitly used, it is also explicitly needed, and newer Ubuntu containers will simply not work. GitHub broke setting up Python 3.6 via actions/setup-python on ubuntu-22.04, so basically if you need to test something on Python 3.6 (without using a container), you have to use ubuntu-20.04. (Unless they fixed it.)
If GitHub drops support for ubuntu-20.04, we probably cannot test against Ansible 2.9, ansible-base 2.10, ansible-core 2.11, and Python 3.6 in GHA anymore.
Use Ubuntu 22.04 or 24.04 GitHub runners for ansible-test. Support for cgroups v2 is available in ansible-core 2.12 and later. Unless you’re testing EOL versions of ansible-core, there’s no reason to be using Ubuntu 20.04 to run ansible-test.
Other repos look a little bit inactive. For example, the last commit to ibm.ds8000 has been 2023, and the last release even 2022. And community.proxmox only hast the initial commit from @Andersson007. No more commits, no release, no issues and no PRs. This looks a little bit weird, too.
But, as I’ve said, let’s wait a few days. Maybe some maintainers remove ubuntu-20.04 and then it would be less work to have a look at the rest.
This might be really hard to track. What I mean is: If some older release still needs this, there should be a branch for this release. But, on the other hand, if an older branch still mentions ubuntu-20.04 we have no way to know if this branch / release is still maintained. At least not automatically.
I think it boils down to how much (and for how long) we (Ansible community) want to commit to support our releases. If we really want to stick to the current plans, then we should be committing time to support our claim independently from the support time frames of these other players, be it Github, Canonical, or any other party this project relies on. Which is a problem for a mostly volunteer-based project.
Maybe lay the cards on the table with the general public, saying “hey, support for Ubuntu 20.04 has dropped from GH, so if you the public want to have that, someone needs to step up and commit to maintain a base image”. I don’t know, just an idea.
Yes. The Docker images for the original stable-x branches completely stopped working some time ago; the fix was to re-push them in another container image format. That needed an update of the code (because Core didn’t want to do it, so the image names changed). Maybe the updated container format also solved the other problems that were originally there - or it was another unrelated change in the newer ubuntu images…
The AZP warning is for projects which are using free Microsoft-hosted agents, not the ones paid for by Red Hat. Some collections use a mix of both, possibly unintentionally.
For example, here’s a reference to a Microsoft-hosted agent:
Here’s one in the same collection for an agent provided by Red Hat:
Collections should avoid using the ubuntu-20.04 image, as it will be retired soon.