threads / discuss / 63272

[RFH] GitHub deprecates Ubuntu 20.04 Actions runner image

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

## tl;dr

3 messages between Apr 8, 2025 and Apr 8, 2025.

replies: 2people: 2as markdown or json

Junio C Hamano· Apr 8, 2025, 20:16 UTC · lore

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?
 (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?
 (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.
 (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?
 .github/workflows/main.yml | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
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
           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
     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
     - uses: actions/checkout@v4
     - name: Install other dependencies
       run: ci/install-dependencies.sh
brian m. carlson· Apr 8, 2025, 21:52 UTC · re: Junio C Hamano · lore

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

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
Junio C Hamano· Apr 8, 2025, 22:30 UTC · re: brian m. carlson · lore

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

"brian m. carlson" <sandals@crustytoothpaste.net> writes:
Show 22 quoted lines
>>      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?
> ...
>> @@ -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.
I think mails crossed among three of us.
<77f82414-261c-d2bc-f911-ed3d4b06c86e@gmx.de>

← back to recent threads