-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Improve native build and mark our official build as CFS Clean #7516
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
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 improves the native build system by implementing CFS Clean marking to prevent access to public packaging endpoints and adds various native toolchain improvements. The changes also enable Dev18 (Visual Studio 2026) support for the build system.
- Adds CFS Clean network isolation policy in the CI build pipeline
- Implements native build improvements including deterministic builds, source linking, and link-time code generation
- Adds support for Visual Studio 2026 (Dev18) in the native build system
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
build/vsts-ci.yml | Adds CFS Clean network isolation policy setting |
src/Native/build.cmd | Adds VS2026 support and fixes script directory path handling |
src/Native/Native.proj | Adds native source link file generation |
src/Native/CMakeLists.txt | Implements deterministic build flags, source linking, and removes RelWithDebInfo configuration |
src/Native/gen-buildsys-win.bat | Adds debug echo statement for CMake command |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7516 +/- ##
=======================================
Coverage 69.02% 69.02%
=======================================
Files 1482 1482
Lines 274092 274092
Branches 28266 28266
=======================================
+ Hits 189193 189202 +9
+ Misses 77511 77505 -6
+ Partials 7388 7385 -3
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
We should wait for this to merge #7519 then queue another official build with that change before merging this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had the impression is we need updated CMake to make this work. Looks this was not true then. Thanks for fixing that.
You do need a locally installed CMake that can understand Dev18. I think 4.1.1 added support. I used |
The CFS Clean marking will prevent our build from accessing public packaging endpoints (like NuGet.org, myget.org, etc).
See https://eng.ms/docs/cloud-ai-platform/devdiv/one-engineering-system-1es/1es-build/cloudbuild/resolving-cfs-s360-items
The other settings are just various native toolchain improvements like deterministic build, source linking, etc. I also enabled the repo to build with Dev18 while I was at it.