Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

Draft
paulmedynski wants to merge1 commit intomain
base:main
Choose a base branch
Loading
fromdev/paul/linux-build-minimal

Conversation

paulmedynski
Copy link
Contributor

@paulmedynskipaulmedynski commentedApr 29, 2025
edited
Loading

Work-in Progress

Changes to the build system to support building all targets on Linux. This mostly involved removing properties frombuild.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:

  • All projects can be built on Windows and Linux.
    • macOS has not been fully tested due to a lack of hardware, but CI builds on macOS are working.
  • TheTF property is now used to explicitly decide what Target Frameworks to specify when building AKV and tests, and running tests.
    • This replaces manybuild.proj properties:
      • IsEnabledWindows
      • TargetGroup
      • TargetNetFxVersion
      • TargetNetCoreVersion
      • TestOS
      • TestTargetOS
      • TFGroup
    • If you don't specifyTF then all Target Frameworks are built (net462, net8.0, net9.0).
    • If you specify abuild.proj target that implies .NET Framework, then just net462 is used.
    • If you specify abuild.proj target that implies .NET, then net8.0 and net9.0 are used.
  • TheRunFunctionalTestsWindows,RunFunctionalTestsUnix,RunManualTestsWindows, andRunManualTestsUnix targets now runs .NET tests only.
  • NewRunFunctionalTestsWindowsNetFx andRunManualTestsWindowsNetFx targets were added that run those .NET Framework tests on Windows.
  • Scripts and pipelines were updated to useTF where appropriate.

Internal Changes:

  • Thebuild.proj targets that imply a Target Framework use newBuildProj andTargetsNetFx properties to control the downstream projects where necessary (i.e. AKV and test projects).
  • All projects now use<TargetFrameworks>, even if they only specify a single target framework.
  • Fixed filenames for case-sensitive filesystems.
  • Removed unnecessaryDirectory.Build.props files.

Outstanding Issues:

  • TheBuildTests target still doesn't work (it didn't work before these changes). There is a problem building .NET and .NET Framework targets in parallel.
  • The AKV targets on Linux fail to find the .NET Framework reference assemblies after building for .NET, but re-running the .NET Framework targets works. There is likely an issue with the restore process.

@paulmedynskipaulmedynskiforce-pushed thedev/paul/linux-build-minimal branch 2 times, most recently fromcd8b194 to4081087CompareMay 1, 2025 11:49
@codecovCodecov
Copy link

codecovbot commentedMay 2, 2025
edited
Loading

Codecov Report

Attention: Patch coverage is0% with2 lines in your changes missing coverage. Please review.

Project coverage is 67.71%. Comparing base(6c12daf) to head(701e97a).
Report is 4 commits behind head on main.

Files with missing linesPatch %Lines
...qlClient/Server/SmiEventSink_DeferredProcessing.cs0.00%1 Missing⚠️
...t/netfx/src/Microsoft/Data/SqlClient/SqlCommand.cs0.00%1 Missing⚠️
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
FlagCoverage Δ
addons?
netcore72.25% <ø> (+0.11%)⬆️
netfx66.17% <0.00%> (-0.02%)⬇️

Flags with carried forward coverage won't be shown.Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report?Share it here.

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

- 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.
@paulmedynskipaulmedynskiforce-pushed thedev/paul/linux-build-minimal branch frombe720da to701e97aCompareMay 12, 2025 21:28
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

Copilot code reviewCopilotAwaiting requested review from CopilotCopilot will automatically review once the pull request is marked ready for review

At least 2 approving reviews are required to merge this pull request.

Assignees
No one assigned
Labels
None yet
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

1 participant
@paulmedynski

[8]ページ先頭

©2009-2025 Movatter.jp