diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b27361a9..5756faa7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,8 +17,12 @@ jobs: # macOS — universal build (arm64 + x64) on Apple Silicon runner - os: macos-latest args: --mac --arm64 --x64 - # Windows — x64 + arm64 on x64 runner - - os: windows-latest + # Windows — x64 + arm64 on x64 runner. + # Pinned to windows-2022 (VS 2022 / v17): the windows-latest image + # ships VS "18", which the node-gyp bundled with electron-rebuild + # cannot detect ("unknown version undefined") when compiling + # uiohook-napi in postinstall. + - os: windows-2022 args: --win --x64 --arm64 # Linux — x64 on x64 runner - os: ubuntu-latest @@ -35,9 +39,19 @@ jobs: - name: Install Linux build dependencies if: runner.os == 'Linux' + # Full X11 dev header set required to compile libuiohook (uiohook-napi) + # from source in postinstall. Derived from the headers its sources + # include: Xlib/XKB (libx11-dev), XTest+record (libxtst-dev), Intrinsic + # (libxt-dev), Xrandr (libxrandr-dev), Xinerama (libxinerama-dev), + # Xlib-xcb (libx11-xcb-dev), XKBrules (libxkbfile-dev), xkbcommon + # (libxkbcommon-dev, libxkbcommon-x11-dev). Missing libxrandr-dev was + # the original build failure (Xrandr.h: No such file or directory). run: | sudo apt-get update - sudo apt-get install -y libx11-dev libxtst-dev libxt-dev libxkbcommon-dev + sudo apt-get install -y \ + libx11-dev libxtst-dev libxt-dev \ + libxkbcommon-dev libxkbcommon-x11-dev libxkbfile-dev \ + libxrandr-dev libxinerama-dev libx11-xcb-dev - name: Setup pnpm uses: pnpm/action-setup@v4