git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [RFH] GitHub deprecates Ubuntu 20.04 Actions runner image

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Apr 8, 2025, 21:52 UTC
Message-ID
<Z_WagT6zeeQGNa0k@tapette.crustytoothpaste.net>
In-Reply-To
<xmqqo6x6wgs8.fsf@gitster.g>
On 2025-04-08 at 20:16:07, Junio C Hamano wrote:
Show 13 quoted lines
> It seems that we are hitting https://github.com/actions/runner-images/issues/11101
> which deliberately breaks CI jobs running on Ubuntu 20.04 images, in preparation
> for its removal targetted for Apr 15th, 2025.
> 
> The following is a random/blind attempt, but I need a lot of help ;-).
> 
> [jc: brian and Taylor CC'ed for their ac112fd4 (Add additional CI
> jobs to avoid accidental breakage, 2024-10-31)]
> 
>  (1) I do not know if the deprecation schedule at GitHub is the same
>      for native runner images and dockerized ones.  Do we want to
>      leave the linux-TEST-vars that uses image ubuntu:20.04 alone
>      for now?

Yeah, that's a Docker image and we can leave it. As long as Docker Hub continues to host that image, there's no problem with us using it. I would argue that it's a good idea to use a supported OS, but it's not urgent to fix.

>  (2) If we were to update it to ubuntu:22.04, would gcc-8 still be
>      the right "ancient-ish" version of the compiler, or should we
>      update it as well?

We should update that as well, since I doubt GCC 8 is still available. I'd normally look at https://packages.ubuntu.com/gcc to see what version is the default but it's down right now.

Show 5 quoted lines
>  (3) Linux32 job running on image i386/ubuntu:focal has comments
>      that says it is supported until 2025-04-02; should we simply
>      drop that job, as 32-bit platforms are less and less relevant
>      these days?  It is not so urgent but debian-11 job also should
>      be replaced with something slightly newer next summer.

We could update it to a newer version of Ubuntu, such as i386/ubuntu:jammy. That would probably work fine, although I know Ubuntu was making i386 a more limited distro with fewer packages. Perhaps Debian might be a better choice, then.

Show 24 quoted lines
>  (4) I have no idea how the "sparse" job, which seems to download
>      pre-built sparse using magic incantation
> 
>       - name: Download a current `sparse` package
>         uses: git-for-windows/get-azure-pipelines-artifact@v0
>         with:
>           repository: git/git
>           definitionId: 10
>           artifact: sparse-20.04
>       - name: Install the current `sparse` package
>         run: sudo dpkg -i sparse-20.04/sparse_*.deb
> 
>      is supposed to be updated.  Should that be coordinated with the
>      git-for-windows project, where its .github/workflows/test.yml
>      has a similar insn to build sparse-20.04?
> 
>      It appears that Dscho (CC'ed) is futzing with the generation of
>      sparse package on Ubuntu 20.04 and 22.04 and getting affected
>      by the same 20.04 brownout
> 
>      https://dev.azure.com/git/git/_build/results?buildId=2396&view=results
> 
>      so probably I do not have to worry about it and let Dscho take
>      care of the whole thing?

I think Dscho may find a good solution for this, so we can let him start to look at it.

I apologize that I don't have a lot of time today to look into this, since I have something to do this evening, but if we don't get it sorted out in the next couple of days, I can try to send a patch to fix things.

Show 10 quoted lines
> diff --git c/.github/workflows/main.yml w/.github/workflows/main.yml
> index 9959b61ece..1d4422c898 100644
> --- c/.github/workflows/main.yml
> +++ w/.github/workflows/main.yml
> @@ -372,7 +372,7 @@ jobs:
>            image: ubuntu:rolling
>            cc: clang
>          - jobname: linux-TEST-vars
> -          image: ubuntu:20.04
> +          image: ubuntu:22.04

This doesn't strictly have to change, but because Ubuntu 20.04 is going EOL, we probably should change it. Nothing will break if we don't, though.

Show 9 quoted lines
>            cc: gcc
>            cc_package: gcc-8
>          - jobname: linux-breaking-changes
> @@ -446,7 +446,7 @@ jobs:
>      if: needs.ci-config.outputs.enabled == 'yes'
>      env:
>        jobname: sparse
> -    runs-on: ubuntu-20.04
> +    runs-on: ubuntu-22.04

This definitely needs to change. Anything that does "runs-on" is a runner type and Ubuntu 20.04 is going away for runners.

Show 12 quoted lines
>      concurrency:
>        group: sparse-${{ github.ref }}
>        cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
> @@ -457,9 +457,9 @@ jobs:
>        with:
>          repository: git/git
>          definitionId: 10
> -        artifact: sparse-20.04
> +        artifact: sparse-22.04
>      - name: Install the current `sparse` package
> -      run: sudo dpkg -i sparse-20.04/sparse_*.deb
> +      run: sudo dpkg -i sparse-22.04/sparse_*.deb

I don't know how these are generated, but this seems like a good start to try and we can adjust it later on if there's more moving parts to fix.

-- 
brian m. carlson (they/them)
Toronto, Ontario, CA
Previous: Junio C HamanoNext: Junio C Hamano
Message 2 of 3 in “[RFH] GitHub deprecates Ubuntu 20.04 Actions runner image”
  1. Junio C HamanoApr 8, 2025
  2. brian m. carlsonApr 8, 2025
  3. Junio C HamanoApr 8, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.