- Notifications
You must be signed in to change notification settings - Fork311
Support building on Linux#3311
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:main
Are you sure you want to change the base?
Uh oh!
There was an error while loading.Please reload this page.
Conversation
cd8b194
to4081087
Comparecodecovbot commentedMay 2, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@## main #3311 +/- ##==========================================- Coverage 67.74% 67.71% -0.04%========================================== Files 299 293 -6 Lines 65564 65254 -310 ==========================================- Hits 44419 44185 -234+ Misses 21145 21069 -76
Flags with carried forward coverage won't be shown.Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
90fbe86
tobe720da
Compare- Minimal build changes to get everything to compile on Linux.- Fixed BuildTools target errors.- Changed all <TargetFramework> elements to <TargetFrameworks> which provides better dotnet build output.- Removed unused and obsolete build properties.- Cleaned up BUILDGUIDE.- Replaced <TargetGroup> property with <TargetsNetFx> everywhere.- Normalized how we specify and check the ReferenceType property.- Reorganized how project vs package references are used in build.proj.- Explicity unsetting 'TF' variable inherited from 'ADO Build Properties' library.- Removed 'Update AKV MDS package version' step.- Added TestMicrosoftDataSqlClientVersion property to AKV Package build steps.- Updated CI test step to use new runtime-specific build.proj targets.
be720da
to701e97a
Compare
Uh oh!
There was an error while loading.Please reload this page.
Work-in Progress
Changes to the build system to support building all targets on Linux. This mostly involved removing properties from
build.proj
that artifically restricted what would be built based on the OS, and then filtering those changes down into all of the project files.Major Changes:
TF
property is now used to explicitly decide what Target Frameworks to specify when building AKV and tests, and running tests.build.proj
properties:IsEnabledWindows
TargetGroup
TargetNetFxVersion
TargetNetCoreVersion
TestOS
TestTargetOS
TFGroup
TF
then all Target Frameworks are built (net462, net8.0, net9.0).build.proj
target that implies .NET Framework, then just net462 is used.build.proj
target that implies .NET, then net8.0 and net9.0 are used.RunFunctionalTestsWindows
,RunFunctionalTestsUnix
,RunManualTestsWindows
, andRunManualTestsUnix
targets now runs .NET tests only.RunFunctionalTestsWindowsNetFx
andRunManualTestsWindowsNetFx
targets were added that run those .NET Framework tests on Windows.TF
where appropriate.Internal Changes:
build.proj
targets that imply a Target Framework use newBuildProj
andTargetsNetFx
properties to control the downstream projects where necessary (i.e. AKV and test projects).<TargetFrameworks>
, even if they only specify a single target framework.Directory.Build.props
files.Outstanding Issues:
BuildTests
target still doesn't work (it didn't work before these changes). There is a problem building .NET and .NET Framework targets in parallel.