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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.
-- 
brian m. carlson (they/them)
Toronto, Ontario, CA

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux