Repository: biomejs/biome
Pull request #5734: chore: update preview runners
Author: login: arendjr
Created: 2025-04-22T12:47:45Z | Merged: 2025-04-22T18:45:23Z

## Summary

Fixes #5732.

## Test Plan

Linux preview builds should work again.


Linked issue #5732: Linux preview builds are failing

### Discussed in https://github.com/biomejs/biome/discussions/5731

<div type='discussions-op-text'>

<sup>Originally posted by **notramo** April 22, 2025</sup>
https://github.com/biomejs/biome/actions/runs/14583672963

Ubuntu 20.04 runner has been removed from GitHub actions.</div>
Linked issue comments: user: login: arendjr
created_at: 2025-04-22T12:48:17Z
body: Do you think there's anything more to it than this PR? https://github.com/biomejs/biome/pull/5734
author_association: CONTRIBUTOR
user: login: ematipico
created_at: 2025-04-22T12:54:36Z
body: @arendjr yes, we must update `release*` workflows too

Try to search for `ubuntu-20.04`. Also, should we try to use the `depot` images instead? 
author_association: MEMBER
user: login: siketyan
created_at: 2025-04-22T12:58:20Z
body: IIRC the glibc on the build environment will be the minimum required version of glibc on runtime environments. Any chance to add a changeset to describe that if it's correct? Also it should be ubuntu-22.04 for now to keep maximum compatibility.
author_association: MEMBER
user: login: siketyan
created_at: 2025-04-22T13:03:24Z
body: I remember a binary built on ubuntu-24.04 didn't work even on Debian 12 (bookworm), so it will affect many users
author_association: MEMBER

Diff:
diff --git a/.github/workflows/beta.yml b/.github/workflows/beta.yml
index cf09625719c9..c55c6030e8ad 100644
--- a/.github/workflows/beta.yml
+++ b/.github/workflows/beta.yml
@@ -28,28 +28,28 @@ jobs:
     strategy:
       matrix:
         include:
-          - os: windows-2022
+          - os: depot-windows-2022
             target: x86_64-pc-windows-msvc
             code-target: win32-x64
-          - os: windows-2022
+          - os: depot-windows-2022
             target: aarch64-pc-windows-msvc
             code-target: win32-arm64
-          - os: ubuntu-20.04
+          - os: depot-ubuntu-22.04
             target: x86_64-unknown-linux-gnu
             code-target: linux-x64
-          - os: ubuntu-20.04
+          - os: depot-ubuntu-22.04-arm
             target: aarch64-unknown-linux-gnu
             code-target: linux-arm64
-          - os: ubuntu-20.04
+          - os: depot-ubuntu-22.04
             target: x86_64-unknown-linux-musl
             code-target: linux-x64-musl
-          - os: ubuntu-20.04
+          - os: depot-ubuntu-22.04-arm
             target: aarch64-unknown-linux-musl
             code-target: linux-arm64-musl
-          - os: macos-14
+          - os: depot-macos-14
             target: x86_64-apple-darwin
             code-target: darwin-x64
-          - os: macos-14
+          - os: depot-macos-14
             target: aarch64-apple-darwin
             code-target: darwin-arm64
 
diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml
index 8fab593ebdbe..30abdadcd34d 100644
--- a/.github/workflows/preview.yml
+++ b/.github/workflows/preview.yml
@@ -23,28 +23,28 @@ jobs:
     strategy:
       matrix:
         include:
-          - os: windows-2022
+          - os: depot-windows-2022
             target: x86_64-pc-windows-msvc
             code-target: win32-x64
-          - os: windows-2022
+          - os: depot-windows-2022
             target: aarch64-pc-windows-msvc
             code-target: win32-arm64
-          - os: ubuntu-20.04
+          - os: depot-ubuntu-22.04
             target: x86_64-unknown-linux-gnu
             code-target: linux-x64
-          - os: ubuntu-20.04
+          - os: depot-ubuntu-22.04-arm
             target: aarch64-unknown-linux-gnu
             code-target: linux-arm64
-          - os: ubuntu-20.04
+          - os: depot-ubuntu-22.04
             target: x86_64-unknown-linux-musl
             code-target: linux-x64-musl
-          - os: ubuntu-20.04
+          - os: depot-ubuntu-22.04-arm
             target: aarch64-unknown-linux-musl
             code-target: linux-arm64-musl
-          - os: macos-14
+          - os: depot-macos-14
             target: x86_64-apple-darwin
             code-target: darwin-x64
-          - os: macos-14
+          - os: depot-macos-14
             target: aarch64-apple-darwin
             code-target: darwin-arm64
 
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 1d9ea118df66..8d79cbf83d8a 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -80,28 +80,28 @@ jobs:
     strategy:
       matrix:
         include:
-          - os: windows-2022
+          - os: depot-windows-2022
             target: x86_64-pc-windows-msvc
             code-target: win32-x64
-          - os: windows-2022
+          - os: depot-windows-2022
             target: aarch64-pc-windows-msvc
             code-target: win32-arm64
-          - os: ubuntu-20.04
+          - os: depot-ubuntu-22.04
             target: x86_64-unknown-linux-gnu
             code-target: linux-x64
-          - os: ubuntu-20.04
+          - os: depot-ubuntu-22.04-arm
             target: aarch64-unknown-linux-gnu
             code-target: linux-arm64
-          - os: ubuntu-20.04
+          - os: depot-ubuntu-22.04
             target: x86_64-unknown-linux-musl
             code-target: linux-x64-musl
-          - os: ubuntu-20.04
+          - os: depot-ubuntu-22.04-arm
             target: aarch64-unknown-linux-musl
             code-target: linux-arm64-musl
-          - os: macos-14
+          - os: depot-macos-14
             target: x86_64-apple-darwin
             code-target: darwin-x64
-          - os: macos-14
+          - os: depot-macos-14
             target: aarch64-apple-darwin
             code-target: darwin-arm64
 
diff --git a/.github/workflows/release_cli.yml b/.github/workflows/release_cli.yml
index 3ab15fbe39b0..08184af089e9 100644
--- a/.github/workflows/release_cli.yml
+++ b/.github/workflows/release_cli.yml
@@ -40,28 +40,28 @@ jobs:
     strategy:
       matrix:
         include:
-          - os: windows-2022
+          - os: depot-windows-2022
             target: x86_64-pc-windows-msvc
             code-target: win32-x64
-          - os: windows-2022
+          - os: depot-windows-2022
             target: aarch64-pc-windows-msvc
             code-target: win32-arm64
-          - os: ubuntu-20.04
+          - os: depot-ubuntu-22.04
             target: x86_64-unknown-linux-gnu
             code-target: linux-x64
-          - os: ubuntu-20.04
+          - os: depot-ubuntu-22.04-arm
             target: aarch64-unknown-linux-gnu
             code-target: linux-arm64
-          - os: ubuntu-20.04
+          - os: depot-ubuntu-22.04
             target: x86_64-unknown-linux-musl
             code-target: linux-x64-musl
-          - os: ubuntu-20.04
+          - os: depot-ubuntu-22.04-arm
             target: aarch64-unknown-linux-musl
             code-target: linux-arm64-musl
-          - os: macos-14
+          - os: depot-macos-14
             target: x86_64-apple-darwin
             code-target: darwin-x64
-          - os: macos-14
+          - os: depot-macos-14
             target: aarch64-apple-darwin
             code-target: darwin-arm64
 


Reviews:
user: login: chansuke
state: APPROVED
author_association: MEMBER
submitted_at: 2025-04-22T13:58:54Z
user: login: nhedger
state: APPROVED
author_association: MEMBER
submitted_at: 2025-04-22T16:19:57Z
user: login: ematipico
state: APPROVED
author_association: MEMBER
submitted_at: 2025-04-22T18:45:19Z

Review comments:
diff_hunk: @@ -29,16 +29,16 @@ jobs:
           - os: windows-2022
             target: aarch64-pc-windows-msvc
             code-target: win32-arm64
-          - os: ubuntu-20.04
+          - os: ubuntu-24.04
             target: x86_64-unknown-linux-gnu
             code-target: linux-x64
-          - os: ubuntu-20.04
+          - os: ubuntu-24.04
path: .github/workflows/preview.yml
user: login: nhedger
body: ```suggestion
          - os: ubuntu-24.04-arm
```
created_at: 2025-04-22T16:18:42Z
author_association: MEMBER
diff_hunk: @@ -29,16 +29,16 @@ jobs:
           - os: windows-2022
path: .github/workflows/preview.yml
user: login: nhedger
body: ```suggestion
          - os: windows-11-arm
```
created_at: 2025-04-22T16:19:06Z
author_association: MEMBER
diff_hunk: @@ -29,16 +29,16 @@ jobs:
           - os: windows-2022
             target: aarch64-pc-windows-msvc
             code-target: win32-arm64
-          - os: ubuntu-20.04
+          - os: ubuntu-24.04
             target: x86_64-unknown-linux-gnu
             code-target: linux-x64
-          - os: ubuntu-20.04
+          - os: ubuntu-24.04
             target: aarch64-unknown-linux-gnu
             code-target: linux-arm64
-          - os: ubuntu-20.04
+          - os: ubuntu-24.04
             target: x86_64-unknown-linux-musl
             code-target: linux-x64-musl
-          - os: ubuntu-20.04
+          - os: ubuntu-24.04
path: .github/workflows/preview.yml
user: login: nhedger
body: ```suggestion
          - os: ubuntu-24.04-arm
```
created_at: 2025-04-22T16:19:37Z
author_association: MEMBER

PR comments:
user: login: nhedger
created_at: 2025-04-22T16:15:44Z
body: Not sure how significant the perf gain would be, but perhaps using ARM-based runners for ARM builds would result in faster CI time. They are currently in public preview for macOS and Windows.

- [ubuntu-24.04-arm](https://github.com/actions/partner-runner-images/blob/main/images/arm-ubuntu-24-image.md)
- [windows-11-arm](https://github.com/actions/partner-runner-images/blob/main/images/arm-windows-11-image.md)
author_association: MEMBER
user: login: arendjr
created_at: 2025-04-22T17:40:07Z
body: * As @ematipico suggested (in #5732), I'm using Depot runners for all workflows now.
* As @siketyan suggested (in #5732), I'm using Ubuntu 22.04 instead of 24.04 for better compatibility.
* As @nhedger suggested, I'm using ARM runners for ARM builds which may speed up things even more (except for Windows and Mac, since Depot doesn't have ARM runners for those).

Hopefully this has something for everyone :D
author_association: CONTRIBUTOR