Conversation
- Create Directory.Build.props for centralized build configuration - Update solution file to VS 18 format - Update .vsconfig to require Windows 11 SDK (10.0.22621.0) - Remove PlatformToolset and WindowsTargetPlatformVersion from mapistub.vcxproj - Remove Guardian .gdn ruleset references (CI-only dependency) Breaking change: Requires Visual Studio 2026
Prefast analysis now enabled on-demand via MSBuild property (/p:EnablePREfast=true) instead of separate build configurations.
There was a problem hiding this comment.
Pull request overview
Updates the Windows/Visual Studio build setup to target a newer toolset/SDK baseline and align CI/security scanning workflows with those build requirements.
Changes:
- Centralizes MSBuild defaults (toolset/SDK pin + security/quality flags) via
Directory.Build.propsand removes per-configuration duplication from the.vcxproj. - Updates the solution/project configurations (drops Prefast configs) and bumps the
.slnVisual Studio version metadata. - Updates GitHub Actions workflows (new Windows runner label, ARM64EC matrix, Windows 11 SDK install step) and bumps CodeQL action SHAs.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
mapistub.vcxproj |
Removes per-config toolset/SDK/security flags and drops Prefast/Fuzz ARM64* configurations in favor of repo-wide props. |
mapistub.sln |
Updates VS version metadata and removes Prefast solution configurations. |
Directory.Build.props |
Introduces centralized toolset/SDK pin and baseline compiler/link security settings. |
.vsconfig |
Updates required SDK component to Windows 11 SDK 22621. |
.github/workflows/github-ci.yml |
Switches to a VS2026 runner label, adds ARM64EC to the build matrix, and installs Windows 11 SDK. |
.github/workflows/codeql.yml |
Switches to a VS2026 runner label, installs Windows 11 SDK, and updates CodeQL action SHAs. |
.github/workflows/scorecards.yml |
Updates upload-sarif action SHA. |
.github/workflows/devskim.yml |
Updates upload-sarif action SHA. |
.github/workflows/clang.yml |
Replaces the clang-format action with an apt-based install + manual formatting check script. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 9 out of 9 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 10 out of 11 changed files in this pull request and generated 9 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 9 out of 9 changed files in this pull request and generated 5 comments.
Comments suppressed due to low confidence (1)
mapistub.sln:24
- The solution file is missing Fuzz configurations for Win32 and x64, but these configurations still exist in the mapistub.vcxproj file (lines 23-28, 103-109, 135-141). This inconsistency will prevent building Fuzz configurations from the solution. Either add Fuzz|Win32 and Fuzz|x64 to the solution file, or remove these configurations from the project file as well.
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug_Unicode|x64 = Debug_Unicode|x64
Debug_Unicode|Win32 = Debug_Unicode|Win32
Debug_Unicode|ARM64 = Debug_Unicode|ARM64
Debug_Unicode|ARM64EC = Debug_Unicode|ARM64EC
Debug|x64 = Debug|x64
Debug|Win32 = Debug|Win32
Debug|ARM64 = Debug|ARM64
Debug|ARM64EC = Debug|ARM64EC
Release_Unicode|x64 = Release_Unicode|x64
Release_Unicode|Win32 = Release_Unicode|Win32
Release_Unicode|ARM64 = Release_Unicode|ARM64
Release_Unicode|ARM64EC = Release_Unicode|ARM64EC
Release|x64 = Release|x64
Release|Win32 = Release|Win32
Release|ARM64 = Release|ARM64
Release|ARM64EC = Release|ARM64EC
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 10 out of 10 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 10 out of 10 changed files in this pull request and generated 7 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…d update build docs
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 10 out of 10 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 12 out of 12 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -1,4 +1,4 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
There was a problem hiding this comment.
This file now has a UTF-8 BOM character before the XML declaration. That can create noisy diffs and occasionally trips tooling that expects the file to start with < immediately. If unintentional, consider removing the BOM to keep the project file consistent with other XML files in the repo.
| $vsPath = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property installationPath | ||
| $msbuildPath = Join-Path $vsPath "MSBuild\Current\Bin\amd64\msbuild.exe" |
There was a problem hiding this comment.
The build step uses vswhere.exe without -requires Microsoft.Component.MSBuild and doesn’t validate that the computed MSBuild path exists. Adding the -requires filter (and a simple Test-Path check with a clear error) would make CI failures more diagnosable if the runner image changes.
| $vsPath = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property installationPath | |
| $msbuildPath = Join-Path $vsPath "MSBuild\Current\Bin\amd64\msbuild.exe" | |
| $vswherePath = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" | |
| if (-not (Test-Path $vswherePath)) { | |
| Write-Error "vswhere.exe not found at expected path: $vswherePath" | |
| exit 1 | |
| } | |
| $vsPath = & $vswherePath -latest -requires Microsoft.Component.MSBuild -property installationPath | |
| $msbuildPath = Join-Path $vsPath "MSBuild\Current\Bin\amd64\msbuild.exe" | |
| if (-not (Test-Path $msbuildPath)) { | |
| Write-Error "MSBuild not found at expected path: $msbuildPath (Visual Studio installation path: $vsPath)" | |
| exit 1 | |
| } |
| The npm scripts now use MSBuild by default (and keep node-gyp scripts under `gyp:*`): | ||
|
|
There was a problem hiding this comment.
This section switches the default Node.js build path to MSBuild, but it doesn’t explicitly call out the new prerequisites (VS Build Tools/Visual Studio with MSBuild + the pinned Windows SDK version). Please update the Node.js build instructions here to mention the required VS/MSBuild + Windows SDK (10.0.22621.0) so users don’t hit opaque build failures.
| The npm scripts now use MSBuild by default (and keep node-gyp scripts under `gyp:*`): | |
| The npm scripts now use MSBuild by default (and keep node-gyp scripts under `gyp:*`). | |
| **Prerequisites (in addition to Node.js):** | |
| - Visual Studio 2019 or later **or** Visual Studio Build Tools with MSBuild and the C++ toolset installed (for example, the "Desktop development with C++" workload). | |
| - Windows 10 SDK **10.0.22621.0** installed (the MSBuild-based scripts are pinned to this SDK version). |
No description provided.