-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Make analyzers and ILLink trimming opt-in via MSBuild properties #123292
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
base: main
Are you sure you want to change the base?
Conversation
|
@copilot we should still run the full checks on every pr, just not in the inner loop of the product build. |
|
We should also have a leg that triggers the "all configurations build" for libraries. I believe the way to do that nowadays is to pass |
|
Also, maybe we want to add this into the global-build.yml pipeline? I know it's not really a dev innerloop scenario but that pipeline already has these "build the whole repo with a slightly different than default configuration" style jobs |
|
@copilot please move this job into the global-build pipeline |
Added in 1970403. Created a new leg "Libraries_AllConfigurations" that uses
Done in 1970403. Moved all analyzer and linker jobs into global-build.yml and deleted the standalone pipeline. |
- Add RunAnalyzersInBuild property to control analyzer execution - Add RunILLinkInBuild property to control ILLink trimming - Default both to disabled for faster local builds and CI - Projects can still explicitly override via ILLinkTrimAssembly or RunAnalyzers Co-authored-by: agocke <515774+agocke@users.noreply.github.com>
- Create runtime-analyzers-linker.yml pipeline for scheduled runs - Add documentation for RunAnalyzersInBuild and RunILLinkInBuild properties - Pipeline runs on main branch scheduled at 9:00 and 21:00 UTC Co-authored-by: agocke <515774+agocke@users.noreply.github.com>
- Changed pr trigger from 'none' to run on main and release branches - Pipeline now runs on PRs to ensure code quality checks - Updated documentation to reflect PR runs - Keeps inner loop builds fast by using opt-in properties Co-authored-by: agocke <515774+agocke@users.noreply.github.com>
- Move analyzer and linker jobs from standalone pipeline to global-build.yml - Add "all configurations" library build leg with -restore -build -pack - Delete runtime-analyzers-linker.yml standalone pipeline - Update documentation to reference global-build pipeline - Add path-based conditions for better PR filtering Co-authored-by: agocke <515774+agocke@users.noreply.github.com>
- Combine all-configurations build with analyzer and linker checks - Run on linux_x64_dev_innerloop, linux_x64, windows_x64, osx_arm64 - Remove separate platform-specific analyzer jobs and Mono job - Build args: -subset libs -restore -build -pack with /p:RunAnalyzersInBuild=true /p:RunILLinkInBuild=true
1970403 to
1ab89f4
Compare
| # | ||
| # Build Libraries with all configurations including analyzers and linker | ||
| # | ||
| - template: /eng/pipelines/common/platform-matrix.yml |
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.
Combine this job with the AllConfigurations job earlier in this file?
|
Tagging subscribers to this area: @agocke, @dotnet/illink |
Description
Analyzers and ILLink trimming now run only when explicitly enabled, reducing local build times and inner loop overhead. Jobs in the global-build pipeline ensure code quality checks run on every PR.
Changes
MSBuild properties: Added
RunAnalyzersInBuildandRunILLinkInBuildproperties (default: disabled)eng/Analyzers.targets: DefaultsRunAnalyzers=falseunlessRunAnalyzersInBuild=truesrc/libraries/Directory.Build.targets: RequiresRunILLinkInBuild=truefor trimming in NetCoreApp source projectsRunAnalyzersorILLinkTrimAssemblystill respectedCI pipeline: Integrated into
eng/pipelines/global-build.yml-restore -build -packDocumentation: Added build examples in
docs/workflow/building/libraries/README.mdUsage
Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.