From c8be614d9a226da4241c9c0967e3adc86754f451 Mon Sep 17 00:00:00 2001 From: enricobuehler Date: Wed, 1 Jul 2026 12:25:25 +0200 Subject: [PATCH] fix(windows-ci): add FFmpeg's bin dir to PATH explicitly, don't rely on daemon env FFMPEG_DIR alone satisfies the linker, but the test binary needs the actual DLLs on PATH at runtime. The daemon's own env (project-env.ps1, written by the punktfunk-extras provisioning step) only takes effect on daemon *restart*, so a freshly cloned/registered runner's first-ever job runs before that file has ever been written, let alone picked up - confirmed live as STATUS_DLL_NOT_FOUND on the new home-windows-runner-1's first real CI run. Setting PATH via GITHUB_PATH here makes the workflow self-sufficient regardless of daemon restart timing. Co-Authored-By: Claude Sonnet 5 --- .gitea/workflows/windows.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitea/workflows/windows.yml b/.gitea/workflows/windows.yml index 5e25039..e0004a1 100644 --- a/.gitea/workflows/windows.yml +++ b/.gitea/workflows/windows.yml @@ -78,6 +78,12 @@ jobs: # Per-arch FFmpeg import libs (provision-windows-punktfunk-extras.ps1 fetches both). $ff = if ('${{ matrix.target }}' -eq 'aarch64-pc-windows-msvc') { 'C:\Users\Public\ffmpeg-arm64' } else { 'C:\Users\Public\ffmpeg' } "FFMPEG_DIR=$ff" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8 + # $ff\bin on PATH too (not just FFMPEG_DIR, which only satisfies the linker): the test + # binary needs the actual DLLs to load at runtime. Set here rather than relying on the + # daemon's own env (project-env.ps1) - on a freshly cloned/registered runner the daemon + # starts before this job's "Ensure Windows toolchain" step ever writes that file, so its + # PATH doesn't include this yet on a first run (confirmed live: STATUS_DLL_NOT_FOUND). + "$ff\bin" | Out-File -FilePath $env:GITHUB_PATH -Append -Encoding utf8 rustup target add ${{ matrix.target }} rustc --version cargo --version