From 7eaba5e3f3efcbbb194b2c56d714946eead0d61d Mon Sep 17 00:00:00 2001 From: devsyncwrld Date: Tue, 1 Sep 2026 14:02:54 -0300 Subject: [PATCH] ci: build only the architectures this group runs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Windows arm64 doubled the slowest job in the matrix — two Electron distributions downloaded, native modules compiled twice — and nobody here runs Windows on ARM. Linux arm64 went for the same reason. Removing arm64 also retires the fpm step: electron-builder's bundled fpm is x86_64-only and failed on the arm64 runner, which is the only reason a native fpm was installed (ruby, ruby-dev, build-essential and a gem with native extensions, on every run). On an x86_64 runner the bundled one works. Matrix is now Windows x64 and Linux x64. --- .github/workflows/release.yml | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3b2ae341..c5b1e08a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,6 +14,13 @@ jobs: fail-fast: false matrix: include: + # Fork: só as plataformas que o grupo usa. Windows arm64 saiu porque + # dobrava o job mais lento (duas distribuições do Electron, módulos + # nativos compilados duas vezes) e ninguém roda Windows em ARM. + # Linux arm64 saiu pelo mesmo motivo. Com o arm64 fora, o passo que + # instalava o fpm nativo perdeu a razão de existir: ele só era + # necessário porque o fpm embutido no electron-builder é x86_64 e + # falhava no runner arm64. # macOS removido neste fork: ninguém do grupo usa, e o runner macOS # é cobrado a 10x num repositório privado — era a plataforma mais cara # da matriz, compilada em toda tag para zero usuários. @@ -23,13 +30,10 @@ jobs: # cannot detect ("unknown version undefined") when compiling # uiohook-napi in postinstall. - os: windows-2022 - args: --win --x64 --arm64 + args: --win --x64 # Linux — x64 on x64 runner - os: ubuntu-latest args: --linux --x64 - # Linux — arm64 on arm64 runner - - os: ubuntu-24.04-arm - args: --linux --arm64 runs-on: ${{ matrix.os }} @@ -59,17 +63,6 @@ jobs: libxkbcommon-dev libxkbcommon-x11-dev libxkbfile-dev \ libxrandr-dev libxinerama-dev libx11-xcb-dev - - name: Install fpm for .deb packaging - if: runner.os == 'Linux' - # electron-builder bundles an x86_64-only fpm; on the arm64 runner it - # aborts the .deb target with "cannot execute binary file: Exec format - # error". Install fpm natively and set USE_SYSTEM_FPM (below) so both - # arches package their .deb with a host-native fpm. ruby-dev + make are - # needed for fpm's native gem dependencies. - run: | - sudo apt-get install -y ruby ruby-dev build-essential - sudo gem install --no-document fpm - - name: Setup pnpm uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0 with: @@ -97,7 +90,3 @@ jobs: env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} CSC_IDENTITY_AUTO_DISCOVERY: "false" - # Use the host-native fpm installed above instead of electron-builder's - # bundled x86_64 fpm (which can't run on the arm64 runner). No-op on - # macOS/Windows, which don't build .deb. - USE_SYSTEM_FPM: "true"