ci/cd: Windows goes vcpkg manifest + MSVC on the VS 2026 runner
The MinGW path kept fighting the environment (the GitHub image's MSVC INCLUDE/LIB poison the GNU compiles; ocio-sys' fork then dragged the MSVC-only headers into g++ and died on vcruntime.h). The Windows jobs on both workflows now: - run on warp-windows-2025-vs2026-x64-16x (preinstalled VS 2026) with the stable MSVC Rust toolchain; - install dependencies through vcpkg MANIFEST mode: vcpkg.json at the repo root carries FFmpeg with every free codec + hwaccel (mirroring build-ffmpeg.sh's configure), pkgconf and librsvg; the vcpkg_installed tree plus the binary-cache archives are cached on the manifest hash with save-always; - build OCIO bundled (ocio-sys' vendored sources are what MSVC wants — the MSYS2 package was the workaround, not the preference), so OCIO_RS_NO_MSVC_INCLUDES is gone; - ship the vcpkg runtime DLLs next to the binaries in the NSIS installer with a static-CRT release build (no vcruntime DLLs), replacing the ntldd-based MSYS2 bundling. FFmpeg version pinning via builtin-baseline is a documented follow-up: the Configure step logs vcpkg list so the first green run reports the resolved versions. docs/build.md keeps the MSYS2 flow as the local alternative and points at the CI path.
This commit is contained in:
@@ -86,6 +86,12 @@ cargo test --workspace # Linux: see "headless tests" below
|
||||
|
||||
## Windows (MSYS2 UCRT64)
|
||||
|
||||
> **CI/CD note**: the GitHub Windows CI/CD no longer uses this path — it
|
||||
> builds MSVC-ABI on `warp-windows-2025-vs2026-x64-16x` with vcpkg
|
||||
> manifest mode (`vcpkg.json` at the repo root: FFmpeg with every free
|
||||
> codec + hwaccel, pkgconf, librsvg) and the vendored static OCIO. The
|
||||
> MSYS2 flow below remains the documented local-build alternative.
|
||||
|
||||
The Windows build targets **x86_64-pc-windows-gnu** with MSYS2's own
|
||||
Rust; the MSVC toolchain is not supported (the build scripts emit
|
||||
Unix-style link args the MSVC linker rejects).
|
||||
|
||||
Reference in New Issue
Block a user