[release/10.0.1xx] Backport CI build fixes - #12667
Open
jonathanpeppers wants to merge 2 commits into
Open
Conversation
Backport the Guardian incrementality, SARIF ignore, and submodule dirty-tree fixes from main. Pin MAUI integration checkouts to net10.0 for release compatibility. Backported-from: f708e85 Backported-from: 52c36b4 Backported-from: 9595ae3 Adapted-from: 3205de6 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1376546a-f323-4b6f-9eca-b9ada68f8996
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The MAUI pipeline resource ref should use an explicit refs/heads/net10.0 to avoid ambiguity and match established pipeline conventions in the same files.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR backports several CI robustness fixes into the release/10.0.1xx branch for .NET for Android, addressing build incrementality regressions from Guardian/SDL tooling, avoiding fail-on-dirty-tree false positives, and aligning MAUI pipeline inputs with .NET 10 servicing.
Changes:
- Generate a
Directory.Build.targetsin test projects to clearResolvedCodeAnalysisRuleSetbeforeCoreCompile, preserving CI incrementality under Guardian analysis. - Update CI hygiene: ignore Guardian
*.gdn.sarifoutputs and ignore submodule working tree state in the “fail on dirty tree” pipeline check. - Pin
dotnet/mauipipeline resource checkouts tonet10.0for .NET 10 alignment.
File summaries
| File | Description |
|---|---|
| src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XamarinAndroidProject.cs | Adds generated Directory.Build.targets injection (incl. extensibility hook) to clear ResolvedCodeAnalysisRuleSet for incremental builds. |
| src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XamarinAndroidApplicationProject.cs | Moves AndroidX workaround into the new extensibility hook instead of writing its own Directory.Build.targets. |
| build-tools/automation/yaml-templates/fail-on-dirty-tree.yaml | Makes dirty-tree detection ignore submodule working tree changes. |
| build-tools/automation/azure-pipelines.yaml | Pins MAUI pipeline resource to net10.0. |
| build-tools/automation/azure-pipelines-nightly.yaml | Pins nightly MAUI pipeline resource to net10.0. |
| .gitignore | Ignores Guardian-generated *.gdn.sarif files. |
| .github/copilot-instructions.md | Updates contributor guidance to prefer C# raw string literals for multi-line strings. |
Review details
- Files reviewed: 6/7 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
Use the latest stable MAUI service release instead of a moving branch for the .NET 10 integration lanes. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1376546a-f323-4b6f-9eca-b9ada68f8996
Member
Author
|
/azp run |
|
Azure Pipelines: 1 pipeline(s) were filtered out due to trigger conditions. |
rolfbjarne
approved these changes
Sep 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Backports the CI fixes identified while investigating Azure DevOps build 15189356:
f708e85e5/ [tests] Clear ResolvedCodeAnalysisRuleSet to fix CoreCompile incrementality on CI #10900 — clearResolvedCodeAnalysisRuleSetin generated test projects so Guardian does not breakCoreCompileincrementality52c36b4d8/ Add *.gdn.sarif to .gitignore #10926 — ignore Guardian-generated*.gdn.sariffiles9595ae339/ Ignore submodules in fail-on-dirty-tree CI check #10927 — ignore submodule working trees in the fail-on-dirty-tree checkFor the MAUI integration failure, both pipeline checkouts are pinned to the latest stable .NET MAUI 10.0.100 service release. This provides an immutable .NET 10-compatible source revision instead of following a moving branch.
The macOS Debug APK failure is not included because the logs indicated a transient test-runner failure and all Release variants passed.
Testing
git diff --check10.0.100is a stable release and uses .NET SDK10.0.108