Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
61ee829
Don’t call NSAttributedString with HTML from a background thread (#26…
kubaflo May 30, 2025
d12224f
[Windows] Implemented the Resize and Downsize functions in the W2DIma…
HarishwaranVijayakumar Jun 9, 2025
8afa005
Update copilot-instructions.md with PR testing notes (#30138)
mattleibow Jun 23, 2025
47d3afd
Update TSA area path configuration for .NET MAUI (#30142)
Copilot Jun 23, 2025
0a37464
[ci] try do full build on dnceng (#27456)
rmarinho Jun 24, 2025
61f1ab8
Add overrides to Help with Obsoleting Compatibility.Layout (#30058)
PureWeen Jun 24, 2025
17ca7d3
Clean up unreferenced API Docs XML files (#30141)
jfversluis Jun 24, 2025
b8be5f5
[Testing] Fix ADB Key Generation Failure on CI (#30092)
jsuarezruiz Jun 24, 2025
910a76d
[create-pull-request] automated change (#30185)
github-actions[bot] Jun 25, 2025
52fffe9
Update README.md with link to .NET MAUI for .NET 10 (#29578)
Copilot Jun 25, 2025
9f0ede8
Use the known working version of platform-tools (#30173)
mattleibow Jun 25, 2025
9fd9b33
Update Issue8870.cs (#30200)
Jun 25, 2025
f92a6c5
Fix update-cgmanifest.ps1 script to generate deterministic output (#3…
Copilot Jun 25, 2025
e4ec490
[ci] Add a way to open insiders to cake (#30211)
rmarinho Jun 25, 2025
cecf058
Update dotnet-format-daily.yml (#30231)
mattleibow Jun 25, 2025
aab8232
Add code formatting instructions to GitHub Copilot development guidel…
Copilot Jun 25, 2025
7c78fff
Build the project first before formatting (#30233)
mattleibow Jun 26, 2025
436e806
Update MicrosoftCodeAnalysisPublicApiAnalyzers and MicrosoftCodeAnaly…
Copilot Jun 27, 2025
316a5cc
[Testing] Re-Fix for flaky UITests RotatingCollectionViewWithHTMLShou…
Jun 27, 2025
ffeef4d
Fixed the picker selection issue on android platform
NanthiniMahalingam Jun 3, 2025
0d58720
Updated the fix
NanthiniMahalingam Jun 4, 2025
f431390
Updated the fix.
NanthiniMahalingam Jun 4, 2025
bf42130
Added the test case
NanthiniMahalingam Jun 5, 2025
fa7be51
Updated the test case
NanthiniMahalingam Jun 5, 2025
3dfbb48
Added output images
NanthiniMahalingam Jun 13, 2025
c985abb
Added the output images
NanthiniMahalingam Jun 17, 2025
f130fba
Revert "Don’t call NSAttributedString with HTML from a background thr…
NanthiniMahalingam Jul 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,4 @@
"rollForward": false
}
}
}
}
29 changes: 28 additions & 1 deletion .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,20 @@ dotnet cake --target=dotnet-pack
- `src/Controls/tests/Core.UnitTests/Controls.Core.UnitTests.csproj`
- `src/Controls/tests/Xaml.UnitTests/Controls.Xaml.UnitTests.csproj`

### Code Formatting

Before committing any changes, format the codebase using the following command to ensure consistent code style:

```bash
dotnet format Microsoft.Maui.sln --no-restore --exclude Templates/src --exclude-diagnostics CA1822
```

This command:
- Formats all code files according to the repository's `.editorconfig` settings
- Excludes the Templates/src directory from formatting
- Excludes the CA1822 diagnostic (member can be marked as static)
- Uses `--no-restore` for faster execution when dependencies are already restored

### Local Development with Branch-Specific .NET

For compatibility with specific branches:
Expand Down Expand Up @@ -160,6 +174,19 @@ Since coding agents function as both CI and pair programmers, they need to handl
- Follow existing code documentation patterns
- Update relevant docs in `docs/` folder when needed

### Opening PRs

All PRs are required to have this at the top of the description:

```
<!-- Please let the below note in for people that find this PR -->
> [!NOTE]
> Are you waiting for the changes in this PR to be merged?
> It would be very helpful if you could [test the resulting artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from this PR and let us know in a comment if this change resolves your issue. Thank you!
```

Always put that at the top, without the block quotes. Without it, the users will NOT be able to try the PR and your work will have been in vain!

## Additional Resources

- [Development Guide](.github/DEVELOPMENT.md)
Expand All @@ -170,4 +197,4 @@ Since coding agents function as both CI and pair programmers, they need to handl

---

**Note for Future Updates:** This document should be expanded as new development patterns, tools, or workflows are discovered. Add sections for specific scenarios, debugging techniques, or tooling as they become relevant to the development process.
**Note for Future Updates:** This document should be expanded as new development patterns, tools, or workflows are discovered. Add sections for specific scenarios, debugging techniques, or tooling as they become relevant to the development process.
9 changes: 8 additions & 1 deletion .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
name: "Copilot Setup Steps"

on: workflow_dispatch
on:
workflow_dispatch:
push:
paths:
- .github/workflows/copilot-setup-steps.yml
pull_request:
paths:
- .github/workflows/copilot-setup-steps.yml

jobs:
copilot-setup-steps:
Expand Down
39 changes: 34 additions & 5 deletions .github/workflows/dotnet-format-daily.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ on:
workflow_dispatch:
schedule:
- cron: 0 0 * * * # Every day at midnight (UTC)
pull_request:
paths:
- .github/workflows/dotnet-format-daily.yml

permissions:
pull-requests: write
Expand All @@ -21,12 +24,38 @@ jobs:
ref: ${{ matrix.branch }}

- name: Setup .NET Core SDK
uses: actions/setup-dotnet@v3.2.0
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.x
dotnet-version: 9.x

- name: Run a pre-work build
shell: pwsh
continue-on-error: true
run: .\build.ps1

- name: Add the local .NET to the envvars (PATH, DOTNET_ROOT)
shell: pwsh
run: |
Add-Content -Path $env:GITHUB_PATH -Value "$env:GITHUB_WORKSPACE/.dotnet"
Add-Content -Path $env:GITHUB_ENV -Value "DOTNET_ROOT=$env:GITHUB_WORKSPACE/.dotnet"
Add-Content -Path $env:GITHUB_ENV -Value "DOTNET_INSTALL_DIR=$env:GITHUB_WORKSPACE/.dotnet"

- name: Ensure we are using the correct .NET
shell: pwsh
run: |
dotnet --version
dotnet --info
dotnet workload --info

- name: Reset tracked files to clean workspace
shell: bash
run: |
git reset --hard HEAD

- name: Run dotnet format
run: dotnet format .\Microsoft.Maui.sln --no-restore --exclude Templates/src --exclude-diagnostics CA1822
run: |
dotnet restore Microsoft.Maui.sln
dotnet format Microsoft.Maui.sln --exclude Templates/src --exclude-diagnostics CA1822

- name: Create Pull Request
uses: dotnet/actions-create-pull-request@v4
Expand All @@ -39,7 +68,7 @@ jobs:
labels: |
t/housekeeping ♻︎
area-infrastructure
assignees: rmarinho, jsuarezruiz
reviewers: rmarinho, jsuarezruiz
assignees: rmarinho, jsuarezruiz, mattleibow
reviewers: rmarinho, jsuarezruiz, mattleibow
branch: housekeeping/fix-codeformatting/${{ matrix.branch }}
base: ${{ matrix.branch }}
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
![.NET MAUI Weather App on all platforms](Assets/maui-weather-hero-sm.png)

## Current News
* 2025 - [What's new in .NET MAUI for .NET 10](https://learn.microsoft.com/dotnet/maui/whats-new/dotnet-10)
* November 13, 2024 - [What's new in .NET MAUI for .NET 9](https://learn.microsoft.com/dotnet/maui/whats-new/dotnet-9)
* November 12, 2024 - [Announcing .NET 9](https://devblogs.microsoft.com/dotnet/announcing-dotnet-9/#.net-maui-–-enhancing-multi-platform-app-development)
* October 22, 2024 - [.NET MAUI Welcomes Syncfusion Open-source Contributions](https://devblogs.microsoft.com/dotnet/dotnet-maui-welcomes-syncfusion-open-source-contributions/)
Expand Down
5 changes: 3 additions & 2 deletions eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,8 @@
<MicrosoftJSInteropPreviousPackageVersion>$(MicrosoftAspNetCorePackageVersion)</MicrosoftJSInteropPreviousPackageVersion>
<!-- Other packages -->
<MicrosoftCodeAnalysisNetAnalyzersVersion>9.0.0-preview*</MicrosoftCodeAnalysisNetAnalyzersVersion>
<MicrosoftCodeAnalysisPublicApiAnalyzersVersion>3.3.4</MicrosoftCodeAnalysisPublicApiAnalyzersVersion>
<MicrosoftCodeAnalysisBannedApiAnalyzersVersion>3.3.4</MicrosoftCodeAnalysisBannedApiAnalyzersVersion>
<MicrosoftCodeAnalysisPublicApiAnalyzersVersion>4.14.0</MicrosoftCodeAnalysisPublicApiAnalyzersVersion>
<MicrosoftCodeAnalysisBannedApiAnalyzersVersion>4.14.0</MicrosoftCodeAnalysisBannedApiAnalyzersVersion>
<MicrosoftIoRecyclableMemoryStreamVersion>3.0.1</MicrosoftIoRecyclableMemoryStreamVersion>
<SystemNumericsVectorsVersion>4.6.1</SystemNumericsVectorsVersion>
<SystemMemoryPackageVersion>4.5.5</SystemMemoryPackageVersion>
Expand Down Expand Up @@ -173,6 +173,7 @@
<JavaJdkVersion>17.0.12</JavaJdkVersion>
<!-- Android SDK package versions and info -->
<!-- Build Tools and CmdLine Tools versions -->
<AndroidSdkPlatformToolsVersion>35.0.2</AndroidSdkPlatformToolsVersion>
<AndroidSdkBuildToolsVersion>33.0.0</AndroidSdkBuildToolsVersion>
<AndroidSdkCmdLineToolsVersion>13.0</AndroidSdkCmdLineToolsVersion>
<!-- Device Type for creating AVD's -->
Expand Down
2 changes: 1 addition & 1 deletion eng/automation/guardian/tsaoptions-v2.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
],
"instanceUrl": "https://devdiv.visualstudio.com/",
"projectName": "DevDiv",
"areaPath": "DevDiv\\VS Client - Runtime SDKs\\MAUI",
"areaPath": "DevDiv\\.NET MAUI\\MAUI",
"iterationPath": "DevDiv",
"allTools": true
}
27 changes: 24 additions & 3 deletions eng/cake/dotnet.cake
Original file line number Diff line number Diff line change
Expand Up @@ -486,7 +486,26 @@ Task("VSCode")

UseLocalNuGetCacheFolder();

StartVisualStudioCodeForDotNet();
StartVisualStudioCodeForDotNet(false);
});

Task("Insiders")
.Description("Provisions .NET, and launches an instance of Visual Studio Code using it.")
.IsDependentOn("Clean")
.IsDependentOn("dotnet")
.IsDependentOn("dotnet-buildtasks")
.IsDependentOn("dotnet-pack") // Run conditionally
.Does(() =>
{
if (pendingException != null)
{
Error($"{pendingException}");
Error("!!!!BUILD TASKS FAILED: !!!!!");
}

UseLocalNuGetCacheFolder();

StartVisualStudioCodeForDotNet(true);
});

// Tasks for Local Development
Expand Down Expand Up @@ -632,7 +651,7 @@ void UseLocalNuGetCacheFolder(bool reset = false)
SetEnvironmentVariable("NUGET_PACKAGES", packages.FullPath);
}

void StartVisualStudioCodeForDotNet()
void StartVisualStudioCodeForDotNet(bool useInsiders)
{
if (IsCIBuild())
{
Expand All @@ -645,7 +664,9 @@ void StartVisualStudioCodeForDotNet()
SetDotNetEnvironmentVariables();
}

StartProcess("code", new ProcessSettings{ EnvironmentVariables = GetDotNetEnvironmentVariables() });
string codeProcessName = useInsiders ? "code-insiders" : "code";

StartProcess(codeProcessName, new ProcessSettings{ EnvironmentVariables = GetDotNetEnvironmentVariables() });
}

void StartVisualStudioForDotNet()
Expand Down
Loading
Loading