diff mbox series

[RFH] GitHub deprecates Ubuntu 20.04 Actions runner image

Message ID xmqqo6x6wgs8.fsf@gitster.g (mailing list archive)
State New
Headers show
Series [RFH] GitHub deprecates Ubuntu 20.04 Actions runner image | expand

Commit Message

Junio C Hamano April 8, 2025, 8:16 p.m. UTC
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(-)

Comments

brian m. carlson April 8, 2025, 9:52 p.m. UTC | #1
On 2025-04-08 at 20:16:07, Junio C Hamano wrote:
> 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.

>  (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.

>  (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.

> 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.

>            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.

>      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.
Junio C Hamano April 8, 2025, 10:30 p.m. UTC | #2
"brian m. carlson" <sandals@crustytoothpaste.net> writes:

>>      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>
diff mbox series

Patch

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