From d579cd318ea40d521e8223ba80bde45712b7fd8b Mon Sep 17 00:00:00 2001 From: enricobuehler Date: Sat, 18 Jul 2026 02:12:43 +0200 Subject: [PATCH] ci(windows-host): lint host + tray in --release so clippy reuses the release build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The clippy step ran in the default (debug) profile, compiling the whole dep tree into a second target dir (C:\t\debug) — a second full build of openh264-sys2's vendored C++ (pf-encode's software-H.264 fallback) on top of the release copy the Build steps already produced. That second cc-rs cl.exe fan-out tips the self-hosted runner into `cabac_decoder.cpp: fatal error C1069 (cannot read compiler command line)` — environmental disk/temp exhaustion, not a source error: the identical file compiles fine in the release build minutes earlier, and openh264 is untouched here. Linting in --release reuses the release build-script artifacts (no openh264 rebuild) and keeps everything in one C:\t\release tree. Matches pf-vkhdr-layer's clippy, which already runs --release. Co-Authored-By: Claude Opus 4.8 (1M context) --- .gitea/workflows/windows-host.yml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/windows-host.yml b/.gitea/workflows/windows-host.yml index d6d46415..d9eb4d7a 100644 --- a/.gitea/workflows/windows-host.yml +++ b/.gitea/workflows/windows-host.yml @@ -145,9 +145,18 @@ jobs: - name: Clippy (host + tray, Windows) shell: pwsh # First-ever Windows lint coverage for the host (Linux CI never lints the windows-cfg code). + # --release is REQUIRED, not just faster: a default (debug) clippy compiles the whole dep tree + # into a SECOND target dir (C:\t\debug), which means a second full build of openh264-sys2's + # vendored C++ (the software-H.264 fallback in pf-encode) on top of the release copy the Build + # steps above already produced. That second cc-rs `cl.exe` fan-out tips this runner over into + # `cabac_decoder.cpp: fatal error C1069 (cannot read compiler command line)` — an environmental + # disk/temp exhaustion, NOT a source error (the identical file compiles fine in the release + # build minutes earlier). Linting in release reuses those native build-script artifacts (no + # openh264 rebuild), and keeps everything in one C:\t\release tree. Same reason + # pf-vkhdr-layer's clippy below runs --release. run: | - cargo clippy -p punktfunk-host --features nvenc,amf-qsv,qsv -- -D warnings; if ($LASTEXITCODE) { throw "host clippy" } - cargo clippy -p punktfunk-tray -- -D warnings; if ($LASTEXITCODE) { throw "tray clippy" } + cargo clippy --release -p punktfunk-host --features nvenc,amf-qsv,qsv -- -D warnings; if ($LASTEXITCODE) { throw "host clippy" } + cargo clippy --release -p punktfunk-tray -- -D warnings; if ($LASTEXITCODE) { throw "tray clippy" } - name: Build + lint the HDR Vulkan layer (pf-vkhdr-layer) shell: pwsh