Skip to content

chore(server): vcpkg 2026.04.27#1020

Merged
asclearuc merged 3 commits into
developfrom
chore/vcpkg-2026.04.27
Jun 1, 2026
Merged

chore(server): vcpkg 2026.04.27#1020
asclearuc merged 3 commits into
developfrom
chore/vcpkg-2026.04.27

Conversation

@stepmikhaylov
Copy link
Copy Markdown
Collaborator

@stepmikhaylov stepmikhaylov commented May 28, 2026

VCPKG upgraded to 2026.04.27

  • Windows and Ubuntu builds are failing

Summary by CodeRabbit

  • Chores

    • Updated vcpkg dependency version.
    • Modified CI workflow configuration to trigger full builds when package.json is modified, ensuring build consistency.
  • Bug Fixes

    • Fixed Windows compatibility issue with macro expansion in SDK headers by implementing proper macro isolation during compilation.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 28, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 018ef0a5-d334-4aff-819a-ff1d6ec0f2cb

📥 Commits

Reviewing files that changed from the base of the PR and between e033856 and 7809d8a.

📒 Files selected for processing (3)
  • .github/workflows/ci.yml
  • package.json
  • packages/server/engine-lib/engLib/headers.h

📝 Walkthrough

Walkthrough

This PR contains three independent maintenance updates: extending the CI workflow's change detection to treat package.json modifications as code changes, bumping the vcpkg version to a newer release, and adding Windows macro suppression around AWS SDK includes to prevent compilation conflicts.

Changes

Maintenance and Build Configuration Updates

Layer / File(s) Summary
CI workflow package.json detection
.github/workflows/ci.yml
The paths-filter "code" filter now includes package.json, so PRs modifying that file trigger the full build instead of being skipped as docs-only.
vcpkg version update
package.json
The vcpkg.version field is updated from 2026.02.27 to 2026.04.27.
AWS SDK ERROR macro suppression
packages/server/engine-lib/engLib/headers.h
AWS SDK includes are wrapped with #pragma push_macro("ERROR") / #undef ERROR / #pragma pop_macro("ERROR") to prevent Windows ERROR macro interference during compilation.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

Suggested labels

builder

Suggested reviewers

  • jmaionchi
  • Rod-Christensen

Poem

🐰 A rabbit's delight in three small tweaks—
Build checks now trigger on package speaks,
vcpkg hops forward through time's long stream,
AWS macros no longer scheme,
Three little fixes, one PR dream! 🎉

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change: updating vcpkg to version 2026.04.27, which is the primary objective of the PR. However, it doesn't capture that this PR also fixes a critical Windows build issue with AWS SDK macro collision and updates CI detection logic.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/vcpkg-2026.04.27

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown

No description provided.

@github-actions github-actions Bot added the ci/cd CI/CD and build system label May 28, 2026
kwit75 added a commit that referenced this pull request May 28, 2026
…survives

ROOT CAUSE of the repo-wide Ubuntu Build failure (since GHA ubuntu-22.04
image 20260525, 2026-05-25): detect_installed_clang() returned the HIGHEST
versioned clang (15), but the image's default toolchain is clang-14 with the
UNVERSIONED libc++-dev/libc++abi-dev owning the multiarch symlink
/usr/lib/x86_64-linux-gnu/libc++.so. compiler-unix.sh then force-installed
libc++-15-dev; apt resolved the conflict by REMOVING libc++-dev +
libc++abi-dev (8 pkgs total), deleting that symlink. Every subsequent
'-stdlib=libc++' link failed with 'ld: cannot find -lc++', which CMake
surfaced as the misleading 'CMAKE_MAKE_PROGRAM/CMAKE_CXX_COMPILER not set,
Ninja not found' cascade in vcpkg detect_compiler. Ninja, cmake, and the
vcpkg version were all red herrings (confirmed: PR #1020's 2026.04.27 bump
fails Ubuntu identically; the real err.log shows the libc++ link error).

Fix: prefer the distro-DEFAULT unversioned clang in detect_installed_clang,
falling back to the highest versioned clang only when no default exists. This
keeps the compiler aligned with its already-installed, multiarch-symlinked
libc++ — no apt removal, -lc++ resolves, build links. Also reverts the
clang-15 _build.yaml env pins + diagnostic step (they addressed the wrong
layer).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
kwit75 added a commit that referenced this pull request May 28, 2026
…Ubuntu CI (#1022)

* fix(autoinstall): align clang to distro default so libc++ -lc++ link survives

Repo-wide Ubuntu Build failure since GHA ubuntu-22.04 image 20260525
(2026-05-25): the image made default clang=14 while also shipping clang-15.
detect_installed_clang() picked the highest (15), so the libc++ check
force-installed libc++-15-dev; apt resolved the conflict by REMOVING the
unversioned libc++-dev/libc++abi-dev that own the multiarch
/usr/lib/x86_64-linux-gnu/libc++.so symlink. Every '-stdlib=libc++' link
then failed with 'ld: cannot find -lc++', which CMake surfaced as the
misleading vcpkg detect_compiler 'CMAKE_MAKE_PROGRAM/CMAKE_CXX_COMPILER not
set, Ninja not found' cascade. (vcpkg/cmake/ninja versions were all red
herrings — confirmed: bumping vcpkg to 2026.04.27 in #1020 fails Ubuntu
identically.)

Fix: prefer the distro-DEFAULT unversioned clang in detect_installed_clang,
falling back to the highest versioned clang only when no default exists.
Keeps the compiler aligned with its already-installed, multiarch-symlinked
libc++ — no apt removal, -lc++ resolves. Verified all-green (Ubuntu + Windows
+ macOS) on the dot-release branch.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(autoinstall): fall back to bare clang when versioned frontend is absent

select_linux_triplet pinned CC/CXX to clang-${CLANG_VERSION} for the
already-installed-clang path, but detect_installed_clang only proves the bare
`clang` exists — not the versioned clang-N/clang++-N frontend. On setups where
clang is provided via update-alternatives or a source build without versioned
symlinks, that set an invalid CC/CXX that only failed later at compile time.
Guard the versioned frontend and fall back to bare clang/clang++ (which is the
detected default, so libc++ stays consistent). Addresses CodeRabbit review on #1022.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Dmitrii Kataraev <dmitrii.kataraev@rocketride.ai>
stepmikhaylov and others added 3 commits June 1, 2026 21:51
vcpkg 2026.04.27's aws-sdk-cpp adds `typedef E ERROR;` in Outcome.h,
which collides with the GDI `ERROR` macro pulled in via `atlbase.h`.
Push/undef/pop `ERROR` around the AWS includes in `engLib/headers.h`.
@asclearuc asclearuc force-pushed the chore/vcpkg-2026.04.27 branch from d16eab8 to 7809d8a Compare June 1, 2026 18:51
@github-actions github-actions Bot added the module:server C++ engine and server components label Jun 1, 2026
@asclearuc asclearuc marked this pull request as ready for review June 1, 2026 19:29
@asclearuc asclearuc enabled auto-merge (squash) June 1, 2026 20:22
@asclearuc asclearuc merged commit 78ff757 into develop Jun 1, 2026
24 checks passed
@asclearuc asclearuc deleted the chore/vcpkg-2026.04.27 branch June 1, 2026 20:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci/cd CI/CD and build system module:server C++ engine and server components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants