From 1fbe2c87cc87195253de371a0a78f05fc600373e Mon Sep 17 00:00:00 2001 From: Simone Date: Sun, 17 May 2026 22:12:03 +0200 Subject: [PATCH] perf(ci): 8 vCPU for ns7zip build VM (4 was starving parallel build) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit WSL on the host builds the 3 configs in parallel in ~103s (= one config) — the parallel design is correct. The 4-vCPU CI VM ran 3x make -j on 4 cores -> oversubscription thrash -> ~3x slower. Not structural / not RAM. Bump guest-cpu to 8 (job.py patches the clone VMX numvcpus); host is 10c/20t, this matrix is 2 VMs. Co-Authored-By: Claude Opus 4.7 --- .gitea/workflows/build-ns7zip.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/build-ns7zip.yml b/.gitea/workflows/build-ns7zip.yml index 5dd1c52..a3a4c05 100644 --- a/.gitea/workflows/build-ns7zip.yml +++ b/.gitea/workflows/build-ns7zip.yml @@ -46,9 +46,11 @@ jobs: # Cross-repo build: github.ref_name is this repo's branch, not # nsis-plugin-ns7zip's. Pin the target repo's branch. repo-branch: 'main' - # 8 GB: the parallel MinGW cross-compile thrashes at the 4 GB - # Linux template default (3 concurrent make -j). Harmless for - # Windows (host has ample RAM). + # 8 vCPU / 8 GB. WSL on the host builds the 3 configs in + # parallel in ~103s (= one config); the 4-vCPU CI VM thrashes + # (3x make -j on 4 cores) and takes ~3x. Not structural — just + # vCPU starvation. Host is 10c/20t; this matrix = 2 VMs. + guest-cpu: '8' guest-memory-mb: '8192' # Suffix disambiguates artifact dirs: F:\CI\Artifacts\{run_id}-{attempt}-windows job-id-suffix: '${{ matrix.target }}'