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 <noreply@anthropic.com>
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user