Skip to content

Conversation

ericstj
Copy link
Member

@ericstj ericstj commented Oct 3, 2025

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.

Copy link
Contributor

@Copilot Copilot AI left a 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.

Copy link

codecov bot commented Oct 3, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 69.02%. Comparing base (b28b6d4) to head (35e023a).
⚠️ Report is 3 commits behind head on main.

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     
Flag Coverage Δ
Debug 69.02% <ø> (+<0.01%) ⬆️
production 63.31% <ø> (+<0.01%) ⬆️
test 89.47% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 8 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ericstj
Copy link
Member Author

ericstj commented Oct 3, 2025

@ericstj
Copy link
Member Author

ericstj commented Oct 3, 2025

We should wait for this to merge #7519 then queue another official build with that change before merging this.

@tarekgh tarekgh added this to the ML.NET 5.0 milestone Oct 3, 2025
Copy link
Member

@tarekgh tarekgh left a 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.

@ericstj
Copy link
Member Author

ericstj commented Oct 3, 2025

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 cmake version 4.1.2.

@ericstj ericstj merged commit 694bc60 into dotnet:main Oct 3, 2025
25 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.

2 participants