From e39f65a2282993eade8a5a07e092a568fab49ef9 Mon Sep 17 00:00:00 2001 From: enricobuehler Date: Tue, 16 Jun 2026 08:18:34 +0000 Subject: [PATCH] =?UTF-8?q?ci(windows):=20set=20CARGO=5FTARGET=5FDIR=3DC:\?= =?UTF-8?q?t=20=E2=80=94=20dodge=20MAX=5FPATH=20in=20CMake-from-source=20b?= =?UTF-8?q?uilds?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With the BOM fixed (shell: pwsh), the build got far enough to compile audiopus_sys, which does a CMake-from-source build of libopus. The runner's host workdir sits deep under C:\Windows\System32\config\systemprofile\.cache\act\\hostexecutor\, so target\debug\build\ audiopus_sys-*\out\build\CMakeFiles\CMakeScratch\TryCompile-*\...\.tlog overran Windows' 260-char MAX_PATH and MSBuild's tracker failed to create its .tlog (DirectoryNotFoundException -> MSB6003, "CL.exe konnte nicht ausgeführt werden"). Pointing CARGO_TARGET_DIR at C:\t shortens every nested build path well under the limit (fixes audiopus_sys + SDL3, both CMake-from-source). Co-Authored-By: Claude Opus 4.8 --- .gitea/workflows/windows.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/windows.yml b/.gitea/workflows/windows.yml index 627fa00..8196189 100644 --- a/.gitea/workflows/windows.yml +++ b/.gitea/workflows/windows.yml @@ -3,9 +3,16 @@ # (windows-reactor + D3D11/SwapChainPanel + WASAPI + SDL3) on x86_64-pc-windows-msvc. # # The MSVC/WinUI/FFmpeg toolchain (cargo/rustup on ASCII paths, NASM, CMake, LLVM, FFmpeg, -# CARGO_HOME, CMAKE_POLICY_VERSION_MINIMUM, …) is baked into the runner's daemon env. The one -# per-checkout var is CARGO_WORKSPACE_DIR (windows-reactor's build.rs unwraps it + stages the -# Windows App SDK NuGets/winmd under it) — set from GITHUB_WORKSPACE in a step. +# CARGO_HOME, CMAKE_POLICY_VERSION_MINIMUM, …) is baked into the runner's daemon env. Two +# per-checkout vars are set in a step: +# - CARGO_WORKSPACE_DIR windows-reactor's build.rs unwraps it + stages the Win App SDK +# NuGets/winmd under it (from GITHUB_WORKSPACE). +# - CARGO_TARGET_DIR=C:\t the runner's host workdir is buried deep under +# C:\Windows\System32\config\systemprofile\.cache\act\\hostexecutor\, +# so the default target\ path blows past Windows' MAX_PATH (260) inside the +# CMake-from-source builds (audiopus_sys / SDL3) — MSBuild's tracker then +# can't create its .tlog (DirectoryNotFoundException -> MSB6003). A short +# root keeps every nested path well under the limit. # # Steps use `shell: pwsh` (PowerShell 7) deliberately: Windows PowerShell 5.1's # `Out-File -Encoding utf8` prepends a UTF-8 BOM that corrupts the first GITHUB_ENV line (the @@ -42,6 +49,7 @@ jobs: shell: pwsh run: | "CARGO_WORKSPACE_DIR=$env:GITHUB_WORKSPACE" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8 + "CARGO_TARGET_DIR=C:\t" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8 rustc --version cargo --version node --version