Repository: nushell/nushell (language: rust)

Issue:
Upgrade Ubuntu version in CI
### Related problem

Perusing the CI scripts this morning and noticed the following:

https://github.com/nushell/nushell/blob/9fa2f43d066483c0351578316c0903c9f843e3ee/.github/workflows/ci.yml#L25-L27

Since we now 2 months away from Ubuntu 20.04 end-of-support, it's probably time to bump?

### Describe the solution you'd like

Consider bumping CI Ubuntu to 24.04 LTS and discuss this again in 4 years. ;-)

### Describe alternatives you've considered

_No response_

### Additional context and details

_No response_


Discussion / hints:
For releases there is a valid argument to go with 22.04 as a lot of organizations are slow with their uptake of glibc versions through the various slow distros.

https://github.com/nushell/nushell/blob/a58d9b0b3a5703b2ebd7fffd7f5715aa661da5d9/.github/workflows/release.yml#L56-L61

As we do that for the releases, we could keep the CI in line with that but otherwise latest may be fine as well.

Fix patch:
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 65b349867bbd7..05fb18ed86957 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -22,14 +22,14 @@ jobs:
     strategy:
       fail-fast: true
       matrix:
-        # Pinning to Ubuntu 20.04 because building on newer Ubuntu versions causes linux-gnu
+        # Pinning to Ubuntu 22.04 because building on newer Ubuntu versions causes linux-gnu
         # builds to link against a too-new-for-many-Linux-installs glibc version. Consider
-        # revisiting this when 20.04 is closer to EOL (April 2025)
+        # revisiting this when 22.04 is closer to EOL (June 2027)
         #
         # Using macOS 13 runner because 14 is based on the M1 and has half as much RAM (7 GB,
         # instead of 14 GB) which is too little for us right now. Revisit when `dfr` commands are
         # removed and we're only building the `polars` plugin instead
-        platform: [windows-latest, macos-13, ubuntu-20.04]
+        platform: [windows-latest, macos-13, ubuntu-22.04]
 
     runs-on: ${{ matrix.platform }}
 
@@ -57,7 +57,7 @@ jobs:
     strategy:
       fail-fast: true
       matrix:
-        platform: [windows-latest, macos-latest, ubuntu-20.04]
+        platform: [windows-latest, macos-latest, ubuntu-22.04]
 
     runs-on: ${{ matrix.platform }}
 
@@ -84,7 +84,7 @@ jobs:
     strategy:
       fail-fast: true
       matrix:
-        platform: [ubuntu-20.04, macos-latest, windows-latest]
+        platform: [ubuntu-22.04, macos-latest, windows-latest]
         py:
           - py
 
@@ -137,7 +137,7 @@ jobs:
         # instead of 14 GB) which is too little for us right now.
         #
         # Failure occurring with clippy for rust 1.77.2
-        platform: [windows-latest, macos-13, ubuntu-20.04]
+        platform: [windows-latest, macos-13, ubuntu-22.04]
 
     runs-on: ${{ matrix.platform }}
 


Test patch: