Skip to content

Fix Windows CI: pin to windows-2022 (VS2022 toolset)#192

Merged
bkaradzic-microsoft merged 1 commit into
BabylonJS:mainfrom
bkaradzic-microsoft:fix/gsl-bump-c4875
Jun 9, 2026
Merged

Fix Windows CI: pin to windows-2022 (VS2022 toolset)#192
bkaradzic-microsoft merged 1 commit into
BabylonJS:mainfrom
bkaradzic-microsoft:fix/gsl-bump-c4875

Conversation

@bkaradzic-microsoft

@bkaradzic-microsoft bkaradzic-microsoft commented Jun 9, 2026

Copy link
Copy Markdown
Member

Problem

Every Windows/UWP build is failing. GitHub repointed the windows-latest label to a VS2026 toolset (internal image windows-2025-vs2026). Its newer MSVC emits C4875 (a non-string literal argument to [[gsl::suppress]] is deprecated) from inside the GSL headers we pull transitively via arcana.cpp, and our /WX builds promote it to a hard error.

Fix

Pin the Win32 and UWP jobs to the windows-2022 runner, which still provides the established VS2022 toolset that doesn't emit C4875. This restores green CI with no source or dependency-graph change, and matches the approach taken in BabylonNative (BabylonJS/BabylonNative#1742).

(Originally proposed as a GSL v4.2.2 bump / /wd4875 suppression — see the closed #191 — but pinning the runner is the smaller, decoupled fix and keeps us on the known-good toolchain.)

Validation

CI on this branch confirms the Win32/UWP builds are green again on windows-2022.

Copilot AI review requested due to automatic review settings June 9, 2026 14:37

Copilot AI 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.

Pull request overview

This PR updates the project’s CMake dependency override to use a newer Microsoft GSL release, addressing Windows/UWP CI failures caused by MSVC VS2026 treating GSL’s [[gsl::suppress]] usage as a /WX-promoted error.

Changes:

  • Add a top-level FetchContent_Declare(GSL ...) to override arcana.cpp’s transitive GSL pin.
  • Bump the overridden GSL version to v4.2.2 to avoid MSVC C4875 on VS2026 toolsets.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread CMakeLists.txt Outdated
windows-latest was repointed to a VS2026 toolset whose newer MSVC promotes a
GSL [[gsl::suppress]] deprecation (C4875) to an error under /WX, breaking the
Win32 and UWP builds. Pin those jobs to windows-2022 so the established VS2022
toolset is used, restoring green CI without a dependency or source change.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@bkaradzic-microsoft bkaradzic-microsoft changed the title Fix Windows CI: bump GSL to v4.2.2 (resolves C4875 on VS2026) Fix Windows CI: pin to windows-2022 (VS2022 toolset) Jun 9, 2026
@bkaradzic-microsoft bkaradzic-microsoft enabled auto-merge (squash) June 9, 2026 15:51
@bkaradzic-microsoft bkaradzic-microsoft merged commit 000f5c9 into BabylonJS:main Jun 9, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants