From 65882fa68f76758c08410a1edb61c4655ab59651 Mon Sep 17 00:00:00 2001 From: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com> Date: Fri, 20 Mar 2026 14:50:38 +0000 Subject: [PATCH 1/3] ci: Remove upstreamed vcpkg workaround See https://github.com/microsoft/vcpkg/pull/44712. --- .github/workflows/ci.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 914b29cad3d..13d1e265bee 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -256,8 +256,6 @@ jobs: - name: Using vcpkg with MSBuild run: | echo "set(VCPKG_BUILD_TYPE release)" >> "${VCPKG_INSTALLATION_ROOT}/triplets/x64-windows.cmake" - # Workaround for libevent, which requires CMake 3.1 but is incompatible with CMake >= 4.0. - sed -i '1s/^/set(ENV{CMAKE_POLICY_VERSION_MINIMUM} 3.5)\n/' "${VCPKG_INSTALLATION_ROOT}/scripts/ports.cmake" - name: Set VCPKG_ROOT run: | From 9aa5b3c3a33ad919f948c4f476e7992fc9a7c278 Mon Sep 17 00:00:00 2001 From: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com> Date: Fri, 20 Mar 2026 15:04:00 +0000 Subject: [PATCH 2/3] ci: Switch to `x64-windows-release` triplet This removes the need to patch vcpkg source code to skip debug builds for dependencies. --- .github/ci-windows.py | 4 ++-- .github/workflows/ci.yml | 4 ---- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/ci-windows.py b/.github/ci-windows.py index e21a7da94a3..a808812e408 100755 --- a/.github/ci-windows.py +++ b/.github/ci-windows.py @@ -71,8 +71,8 @@ def generate(ci_type): "-B", "build", "-Werror=dev", - "--preset", - "vs2026", + "--preset=vs2026", + "-DVCPKG_TARGET_TRIPLET=x64-windows-release", ] + GENERATE_OPTIONS[ci_type] if run(command, check=False).returncode != 0: print("=== ⚠️ ===") diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 13d1e265bee..b7d6a2fb43a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -253,10 +253,6 @@ jobs: py -3 --version bash --version - - name: Using vcpkg with MSBuild - run: | - echo "set(VCPKG_BUILD_TYPE release)" >> "${VCPKG_INSTALLATION_ROOT}/triplets/x64-windows.cmake" - - name: Set VCPKG_ROOT run: | echo "VCPKG_ROOT=${VCPKG_INSTALLATION_ROOT}" >> "$GITHUB_ENV" From 2d5cedfe1291ecfc22081f3368471e4a9af0c695 Mon Sep 17 00:00:00 2001 From: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com> Date: Fri, 20 Mar 2026 15:17:42 +0000 Subject: [PATCH 3/3] ci: Switch to VS-vendored vcpkg instance The GHA Windows image contains two vcpkg installations: one vendored by VS (`VCPKG_ROOT`) and an independent one (`VCPKG_INSTALLATION_ROOT`). Our build documentation recommends using the VS-vendored instance to minimize user effort. While this option previously failed to build in the CI, forcing us to use the independent installation, it is now working correctly. This change removes the no-longer-needed workaround. --- .github/workflows/ci.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b7d6a2fb43a..7d71118edf7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -253,15 +253,11 @@ jobs: py -3 --version bash --version - - name: Set VCPKG_ROOT - run: | - echo "VCPKG_ROOT=${VCPKG_INSTALLATION_ROOT}" >> "$GITHUB_ENV" - - name: Restore vcpkg tools cache id: vcpkg-tools-cache uses: actions/cache/restore@v5 with: - path: C:/vcpkg/downloads/tools + path: ~/AppData/Local/vcpkg/downloads/tools key: ${{ github.job }}-vcpkg-tools-${{ github.run_id }} restore-keys: ${{ github.job }}-vcpkg-tools- @@ -288,7 +284,7 @@ jobs: # Only save cache from one job as they share tools. If the matrix is expanded to jobs with unique tools, this may need amending. if: github.event_name != 'pull_request' && github.ref_name == github.event.repository.default_branch && steps.vcpkg-tools-cache.outputs.cache-hit != 'true' && matrix.job-type == 'standard' with: - path: C:/vcpkg/downloads/tools + path: ~/AppData/Local/vcpkg/downloads/tools key: ${{ github.job }}-vcpkg-tools-${{ github.run_id }} - name: Build