Skip to content

[blender] Add ci-vcpkg-blender ci test port for windows#51143

Merged
BillyONeal merged 15 commits into
microsoft:masterfrom
talregev:TalR/errors/blender
Apr 29, 2026
Merged

[blender] Add ci-vcpkg-blender ci test port for windows#51143
BillyONeal merged 15 commits into
microsoft:masterfrom
talregev:TalR/errors/blender

Conversation

@talregev

@talregev talregev commented Apr 13, 2026

Copy link
Copy Markdown
Contributor

[blender] Add ci-vcpkg-blender ci test port for windows

@talregev talregev changed the title '[blender] recreate errors on x64 os [test][blender] recreate errors on x64 os Apr 13, 2026
@talregev talregev force-pushed the TalR/errors/blender branch 7 times, most recently from 0641dae to c0385f1 Compare April 15, 2026 14:54
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

@talregev talregev force-pushed the TalR/errors/blender branch from c0385f1 to 5795743 Compare April 15, 2026 23:06
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

@talregev talregev force-pushed the TalR/errors/blender branch from 5795743 to bb66a00 Compare April 15, 2026 23:06
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

@vicroms

vicroms commented Apr 17, 2026

Copy link
Copy Markdown
Member

AI review:


vcpkg CI Failure Report

Build: #130054
PR: #51143 — [test][blender] recreate errors on x64 os by @talregev
Result: failed | Finished: 2026-04-16T11:03:42Z


Summary

Triplet Status New Regressions Known Failures
x64-windows ❌ Failed 1 0
x64-windows-release ❌ Failed 1 0
x64-windows-static-md ❌ Failed 1 0
x64-windows-static ✅ Passed 0 0
x64-linux ✅ Passed 0 0
arm64-osx ✅ Passed 0 0
x86-windows ✅ Passed 0 0
arm64-windows ✅ Passed 0 0
arm64-windows-static-md ✅ Passed 0 0
arm64-linux ✅ Passed 0 0
x64-android ✅ Passed 0 0
arm64-android ✅ Passed 0 0
arm-neon-android ✅ Passed 0 0

Total: 3 failed jobs, 1 unique regression (vcpkg-ci-blender), same root cause on all 3 Windows triplets.


🔴 Regression: vcpkg-ci-blender — Missing Vulkan dependency

Triplets: x64-windows, x64-windows-release, x64-windows-static-md
Failure type: BUILD_FAILED (CMake configure)

  • Error:

    CMake Error at .../FindPackageHandleStandardArgs.cmake:290 (message):
      Could NOT find Vulkan (missing: VULKAN_LIBRARY)
    
  • Dependency chain: blenderopenimageioopencvogreimguifind_dependency(Vulkan)

  • Root cause: The vcpkg-ci-blender test port transitively depends on imgui, which has a find_dependency(Vulkan) in its CMake config. However, vulkan is not declared as a dependency in vcpkg-ci-blender's vcpkg.json, and it isn't pulled in transitively through any declared dependency chain. When blender's CMake configure runs, it reaches imgui-config.cmake which calls find_dependency(Vulkan), and since the Vulkan SDK/loader isn't installed, the configure fails.

  • Analysis: This is a new test port (vcpkg-ci-blender) being introduced by this PR. The PR title says "recreate errors on x64 os" — this appears to be a draft PR deliberately testing/reproducing blender build issues. The failure is expected given the PR's intent.

  • Why x64-windows-static passes: The static triplet likely uses a different configuration path that doesn't trigger the Vulkan dependency chain (possibly different OpenCV or OGRE feature defaults for static builds).

  • Suggested fix (if the intent is to make blender build):

    1. Add vulkan (or vulkan-loader) as a dependency in vcpkg-ci-blender/vcpkg.json
    2. Alternatively, disable the OGRE/imgui feature path in blender's CMake configuration if Vulkan isn't needed

ℹ️ Notes

  • This is a draft PR — the author is explicitly testing/reproducing blender build issues on x64 Windows
  • The PR also modifies opencv4 (2 new patches, portfile and manifest changes) and ci.feature.baseline.txt
  • The opencv4 changes appear to build successfully — no opencv regressions on any triplet
  • The only regression is the new vcpkg-ci-blender test port, which is expected for a draft exploring build issues
  • Non-Windows triplets all pass (the test port is likely Windows-only or the Vulkan dependency chain differs)

@talregev talregev changed the title [test][blender] recreate errors on x64 os [blender] Add ci-vcpkg-blender ci test port for winfows Apr 18, 2026
@talregev talregev changed the title [blender] Add ci-vcpkg-blender ci test port for winfows [blender] Add ci-vcpkg-blender ci test port for windows Apr 18, 2026

@dg0yt dg0yt left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursory review.
I'm glad that the opencv4 changes are much smaller than in the previous PR.

Comment thread scripts/test_ports/vcpkg-ci-blender/portfile.cmake Outdated
Comment thread scripts/test_ports/vcpkg-ci-blender/portfile.cmake Outdated
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DPKG_CONFIG_USE_STATIC_LIBS=ON
-DCURRENT_INSTALLED_DIR=${CURRENT_INSTALLED_DIR}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I probably wouldn't want to introduce this script mode variable name into the project mode.
I am also concerned that this is used in another way which mixes different Windows runtimes.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should change when I change to vcpkg_find_acquire_program(PKGCONFIG). Isn't it?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see a connection...

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, fixed.

I removed the project-mode use of CURRENT_INSTALLED_DIR. The patch now uses a purpose-specific VCPKG_BLENDER_RUNTIME_DIR variable only for Blender's build-time tool PATH.

The portfile passes it config-specifically:

  • release uses ${CURRENT_INSTALLED_DIR}/bin
  • debug uses ${CURRENT_INSTALLED_DIR}/debug/bin

So Blender no longer sees the vcpkg script-mode variable name, and the PATH no longer mixes debug and release runtime directories.

Comment thread scripts/test_ports/vcpkg-ci-blender/portfile.cmake Outdated
Comment thread scripts/test_ports/vcpkg-ci-blender/vcpkg.json Outdated
@talregev

Copy link
Copy Markdown
Contributor Author

Cursory review. I'm glad that the opencv4 changes are much smaller than in the previous PR.

Thank you.

Comment thread scripts/test_ports/vcpkg-ci-blender/portfile.cmake Outdated
Comment thread scripts/test_ports/vcpkg-ci-blender/portfile.cmake Outdated
@talregev talregev force-pushed the TalR/errors/blender branch from 1fe3d79 to 4c82a42 Compare April 24, 2026 01:57
Use VCPKG_HOST_PATH_SEPARATOR instead of manually selecting the host path
separator, acquire pkg-config with vcpkg_find_acquire_program(PKGCONFIG),
and switch copyright installation to vcpkg_install_copyright.

Also remove the now-unneeded host pkgconf dependency from the test port
manifest.
Replace the project-mode use of CURRENT_INSTALLED_DIR with a
Blender-specific runtime directory option.

Pass the release and debug vcpkg bin directories separately through
VCPKG_BLENDER_RUNTIME_DIR so build-time Blender tools can find their
DLLs without mixing Windows runtimes.
@talregev talregev marked this pull request as ready for review April 26, 2026 00:52
@talregev talregev requested a review from dg0yt April 26, 2026 00:54
@talregev

Copy link
Copy Markdown
Contributor Author

@vicroms
The PR is ready for review

@BillyONeal BillyONeal left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure how I feel about this. On the one hand, it's good to have something that is a real user of a bunch of these components available to test things, because it's clearly going to catch / has caught real issues.

On the other hand, this is a substantial amount of product code patches that are likely to rot over time we would be signing up to maintain, for something that we aren't even really shipping to our customers.

How long does this thing take to build? Unfortunately the most recent available run did not build it so I can't see there.

On balance I think we should probably merge it with the caveat that we will not hesitate to remove it if it creates substantial problems for someone trying to update any of the dependencies in the future. But I want to bring it up with the team.

@BillyONeal BillyONeal added the requires:vcpkg-team-review This PR or issue requires someone on the vcpkg team to take a further look. label Apr 29, 2026

@BillyONeal BillyONeal left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And now I see opencv4 blowing up in other PRs from stuff this one fixed I think that argues to just merge it.

@BillyONeal BillyONeal merged commit bf15be4 into microsoft:master Apr 29, 2026
16 checks passed
@dg0yt

dg0yt commented Apr 29, 2026

Copy link
Copy Markdown
Contributor

This is not properly reviewed.

@talregev talregev deleted the TalR/errors/blender branch April 29, 2026 19:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

requires:vcpkg-team-review This PR or issue requires someone on the vcpkg team to take a further look.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants