From 6a1fc084c27242beab02c342d7bbaeedb964cf8f Mon Sep 17 00:00:00 2001 From: jwinterm Date: Sat, 20 Jun 2026 15:11:26 -0400 Subject: [PATCH] ci(windows): -j2 + 10G swap so the static Qt6 depends build fits 16G RAM Disk fix let it run 50min (vs ~10min) before the runner lost communication again -> OOM during the parallel Qt6 compile, not disk. Drop both builds to -j2 and add a 10G swapfile for headroom. Slower but should complete + cache depends for fast future runs. --- .github/workflows/build.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8f75a34f..8ea82a10 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -128,15 +128,17 @@ jobs: env: HOST: x86_64-w64-mingw32 steps: - - name: free disk space - # depends unpacks + builds Qt6/boost/openssl from source — too big for the runner's default - # free /. Drop the GitHub-hosted bloat (dotnet/android/ghc/CodeQL/swift) to free ~25G first. + - name: free disk space + add swap + # depends unpacks + builds Qt6/boost/openssl from source. Free / of GitHub bloat + # (dotnet/android/ghc/CodeQL) AND add swap — 16G RAM alone OOMs the parallel Qt6 compile. run: | - echo "before:"; df -h / | tail -1 + echo "disk before:"; df -h / | tail -1 sudo rm -rf /usr/share/dotnet /opt/ghc /usr/local/.ghcup /usr/local/lib/android \ /opt/hostedtoolcache/CodeQL /usr/share/swift 2>/dev/null || true sudo apt-get clean - echo "after:"; df -h / | tail -1 + echo "disk after:"; df -h / | tail -1 + sudo fallocate -l 10G /swapfile && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile + echo "mem:"; free -h - name: update apt run: sudo apt-get update - name: install dependencies @@ -169,7 +171,8 @@ jobs: path: contrib/depends/built key: depends-built-mingw32-${{ hashFiles('contrib/depends/packages/*', 'contrib/depends/hosts/*', 'contrib/depends/toolchain.cmake.in') }} - name: build depends (static Qt6 + tor + boost + openssl for mingw) - run: make -C contrib/depends HOST="$HOST" -j"$(nproc)" + # -j2 not -j(nproc): the parallel static Qt6 compile OOMs the 16G runner at -j4. Slower but safe. + run: make -C contrib/depends HOST="$HOST" -j2 - name: fetch wownerod.exe to embed run: | mkdir -p /tmp/wownerod-embed @@ -192,7 +195,7 @@ jobs: -DFEATHER_TARGET_TRIPLET="$HOST" \ -DWOWNEROD_DIR=/tmp/wownerod-embed \ .. - cmake --build . -j"$(nproc)" + cmake --build . -j2 ls -la bin/ - name: package zip # Fully static build: just wowlet.exe + the depends-built tor.exe + license. No Qt/runtime DLLs.