From c55c1a982ad8dc463c66e8418c32f38c1d930f4b Mon Sep 17 00:00:00 2001 From: Manupa Wickramasinghe <73810867+manupawickramasinghe@users.noreply.github.com> Date: Thu, 27 Aug 2026 03:14:01 +0530 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20Move=20the=20Linux=20builds=20of?= =?UTF-8?q?f=20the=20runner=20GitHub=20is=20retiring?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `ubuntu-22.04` begins deprecation on 2026-09-17 and is fully unsupported from 2027-04-17. Deprecation is not a warning-only period: GitHub fails jobs on that label outright during scheduled brownouts, so both CI and, worse, a tagged release would start failing on a date rather than on a change. Moved to `ubuntu-24.04` rather than `ubuntu-latest`. The label decides the glibc floor of the published `.deb` and `.AppImage`, and that floor is a user-facing compatibility promise — it should move when someone decides to move it, not when GitHub repoints a rolling alias. The move does raise that floor, from glibc 2.35 to 2.39: the Linux artifacts no longer run on Ubuntu 22.04 or Debian 12. That is a real regression for those users and it is now stated in the README's Install section instead of being discovered at runtime. Building from source on those distributions still works. Co-Authored-By: Claude Opus 5 --- .github/workflows/ci.yml | 11 +++++++++-- .github/workflows/release.yml | 7 +++++-- README.md | 6 ++++++ 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 66ced103..7517d98c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,14 @@ jobs: include: - platform: windows-latest formats: nsis - - platform: ubuntu-22.04 + # Pinned rather than `ubuntu-latest` so the glibc floor of the .deb + # and .AppImage is a decision, not whatever GitHub last moved the + # label to. Was ubuntu-22.04, which begins deprecation on 2026-09-17 + # (brownout periods fail the job outright) and is fully unsupported + # from 2027-04-17. Moving raises the floor from glibc 2.35 to 2.39, + # so the Linux artifacts no longer run on Ubuntu 22.04 or Debian 12 — + # stated in the README's Install section. + - platform: ubuntu-24.04 formats: deb,appimage - platform: macos-latest formats: dmg @@ -33,7 +40,7 @@ jobs: - uses: actions/checkout@v5 - name: Install Linux build dependencies - if: matrix.platform == 'ubuntu-22.04' + if: matrix.platform == 'ubuntu-24.04' run: | sudo apt-get update sudo apt-get install -y \ diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2401d3d7..5df43dbd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -118,7 +118,10 @@ jobs: artifacts: | app/target/release/*-setup.exe app/target/release/*-portable.exe - - platform: ubuntu-22.04 + # Pinned deliberately; ubuntu-22.04 is being retired (deprecation + # from 2026-09-17). See the matching note in ci.yml for the glibc + # 2.39 floor this puts on the .deb and .AppImage. + - platform: ubuntu-24.04 formats: deb,appimage artifacts: | app/target/release/*.deb @@ -139,7 +142,7 @@ jobs: ref: ${{ needs.prepare.outputs.tag }} - name: Install Linux build dependencies - if: matrix.platform == 'ubuntu-22.04' + if: matrix.platform == 'ubuntu-24.04' run: | sudo apt-get update sudo apt-get install -y \ diff --git a/README.md b/README.md index 9fc84d17..cf154a66 100644 --- a/README.md +++ b/README.md @@ -257,6 +257,12 @@ carries that sidecar inside the binary and unpacks it to several times the size of the installer, and why it works from a USB stick with nothing beside it. Delete that folder to reclaim the space once you are done. +**Linux glibc requirement:** the `.deb` and `.AppImage` are built on Ubuntu +24.04, so they need **glibc 2.39 or newer** — Ubuntu 24.04+, Debian 13+, +Fedora 40+. They will not run on Ubuntu 22.04 or Debian 12; build from source +there. (The build moved off the Ubuntu 22.04 runner because GitHub retires that +image from 2026-09-17.) + **macOS first launch:** the `.dmg` is currently unsigned and un-notarized, so Gatekeeper will block it. Open **System Settings → Privacy & Security**, find the blocked-app notice, and choose **Open Anyway**.