Skip to content

Bump vcpkg to 2026.05.25#6179

Merged
MaxRayskiy merged 11 commits into
masterfrom
vcpkg-update-2026.05.25
May 31, 2026
Merged

Bump vcpkg to 2026.05.25#6179
MaxRayskiy merged 11 commits into
masterfrom
vcpkg-update-2026.05.25

Conversation

@MaxRayskiy

@MaxRayskiy MaxRayskiy commented May 28, 2026

Copy link
Copy Markdown
Contributor

Updates the vcpkg tag from 2026.04.27 to 2026.05.25 across CI workflows, docker files, requirements, and the C++ setup guide.

Additional dependency adjustments needed to build cleanly against the new tag:

  • Linux: dbusdbus[core], dropping the libsystemd dependency.
  • Windows: opencascadeopencascade-minimal, a STEP-import-only build of OCCT (drops Visualization, OCAF/ApplicationFramework, DataExchange/Draw extras, and the freetype/freeimage/vtk/opengl integrations).

vcpkg S3 binary-cache folder now tracks the release tag

thirdparty/install.bat now derives the S3 cache folder (VCPKG_TAG) from the checked-out vcpkg release tag via git describe --exact-match, instead of the vcpkg-tool version date reported by vcpkg version.

Previously the folder was the tool version (e.g. s3://vcpkg-export/2026-04-08/...). Because the 2026.04.27 and 2026.05.25 registry releases both bundle the same 2026-04-08 tool, bumping the tag did not change the cache folder. The folder now matches the release we bump:

  • before: s3://vcpkg-export/2026-04-08/<triplet>/
  • after: s3://vcpkg-export/2026.05.25/<triplet>/ (vs2019 triplets → 2024.10.21)

Both the producer (prepare-images) and the consumer (setup-vcpkg-windows) check vcpkg out at the release tag before running install.bat, so they stay in sync automatically. The old tool-version derivation remains as a fallback when vcpkg isn't on a tagged commit.

Trade-offs:

  • The first run for a new tag is a full cache miss and rebuilds every package into the fresh folder.
  • Releases that share a vcpkg-tool version no longer reuse each other's unchanged package binaries; each tag bump gets its own folder. The win is that the cache folder name now matches the release.

Impact of opencascade-minimal on Windows

Measured on the windows-2022 / vs2022 runners, fresh cache-miss builds:

Metric opencascade (full) opencascade-minimal
Actions cache size (trimmed C:\vcpkg tree, all deps) 697.9 MiB 500.6 MiB
vcpkg build time ~1.2 h ~1.4 h
  • Cache / footprint: ~197 MiB (~28%) smaller. Measured on the same triplet (x64-windows-meshlib) and same vcpkg tag (2026.05.25), so the delta is purely the OCCT port swap — smaller libraries plus dropped transitive deps. This means smaller cache restores and less pressure against the 10 GB Actions cache cap.
  • Build time is not improved (the minimal port forces a higher optimization profile and enables tbb/eigen), so the win is footprint, not compile time.

Note: the build-time rows come from separate cache-miss runs with slightly different OCCT versions/triplets, so treat them as approximate; the cache-size rows are a controlled same-triplet/same-tag comparison.

Fedr and others added 10 commits May 29, 2026 10:20
…lure

The vcpkg install step runs inside Docker via retry.sh, and the
underlying meson/ninja error messages live in
/root/vcpkg/buildtrees/<port>/*-out.log, which are not surfaced in
the GitHub Actions log when the build fails. Tail those files on
final failure so CI logs show the actual cause.
Previous dump iterated every port alphabetically and was clipped by
Docker buildx at the 2 MiB log limit before reaching the failing
port's logs. Instead:
  - print /root/vcpkg/installed/vcpkg/issue_body.md, vcpkg's
    auto-generated failure report for the failing port (usually
    contains the relevant log excerpt inline);
  - only dump the 8 most-recently-modified *-out.log / *-err.log
    files, which are always the failing port's.
Signed-off-by: Artur Sharafutdinov <artur.sharafutdinov@meshinspector.com>
…5.25

# Conflicts:
#	.github/workflows/pip-build.yml
Derive VCPKG_TAG from the checked-out vcpkg release tag (e.g. 2026.05.25)
via `git describe --exact-match` instead of the vcpkg-tool version date
(2026-04-08), so the S3 binary-cache folder tracks the registry release we
bump. CI checks vcpkg out at the release tag before running install.bat on
both the producer (prepare-images) and consumer (build) sides, keeping them
in sync. Falls back to the tool version date when vcpkg isn't on a tagged
commit.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@MaxRayskiy MaxRayskiy merged commit 72d810c into master May 31, 2026
43 checks passed
@MaxRayskiy MaxRayskiy deleted the vcpkg-update-2026.05.25 branch May 31, 2026 20:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants