From 7db16510a18b9e049293b38d1cf42cf904dc401f Mon Sep 17 00:00:00 2001 From: James Pine Date: Sat, 18 Apr 2026 23:28:38 -0700 Subject: [PATCH] feat(ci): re-enable Linux release builds (CPU, deb+rpm) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Linux shipped briefly in March 2026 (b580189..103e98b) then was removed with the message "github runners suck." The post-mortem: standard ubuntu-22.04 hit disk-pressure during pip+PyInstaller, and a namespace custom-runner attempt proved flaky. Nothing in the app itself was the problem — the NVIDIA-package exclusions in build_binary.py (~3 GB shaved from CPU builds), the CPU-only torch install order, the PulseAudio/PipeWire audio capture code, and the Tauri deb/rpm bundle targets all still work. This restores ubuntu-22.04 to the release matrix as a CPU-only Linux build with a disk-space cleanup step (jlumbroso/free-disk-space) to address the root cause of the March failures. Ships .deb + .rpm only — AppImage was explicitly dropped in e18757b due to glibc portability issues, keeping that decision. CUDA-for-Linux is intentionally deferred to a follow-up PR: the GpuAcceleration.tsx frontend hard-codes CUDA download as Tauri-only without a Linux branch, and AMD users already get ROCm acceleration for free on a stock CPU-torch install (backend/app.py:148-160). The NVIDIA-on-Linux case is the only remaining gap and is non-blocking for a v1 Linux ship. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/release.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c438e5eb..4dcb0f35 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -26,12 +26,32 @@ jobs: args: "" python-version: "3.12" backend: "pytorch" + - platform: "ubuntu-22.04" + args: "--target x86_64-unknown-linux-gnu --bundles deb,rpm" + python-version: "3.12" + backend: "pytorch" runs-on: ${{ matrix.platform }} steps: - uses: actions/checkout@v4 + # Ubuntu runners ship with ~14 GB free; pip + PyInstaller + torch can + # peak well above that during the build. Reclaim ~25 GB by pruning + # preinstalled toolchains we don't use. This is what likely tripped + # the March 2026 Linux release attempts (see commit 103e98b + # "github runners suck") — not a code issue, a disk-pressure one. + - name: Free up disk space (ubuntu) + if: contains(matrix.platform, 'ubuntu') || contains(matrix.platform, 'namespace') + uses: jlumbroso/free-disk-space@main + with: + tool-cache: false + android: true + dotnet: true + haskell: true + large-packages: true + swap-storage: true + - name: Install dependencies (ubuntu only) if: contains(matrix.platform, 'ubuntu') || contains(matrix.platform, 'namespace') run: |