Skip to content
Open
Show file tree
Hide file tree
Changes from 8 commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
2954a33
Add Maui iOS CoreCLR scenario benchmarks to the performance job pipeline
kotlarmilos Nov 3, 2025
b1da2d7
Add UseMonoRuntime property
kotlarmilos Nov 28, 2025
06ae6b0
Don't run pip libraries
kotlarmilos Dec 2, 2025
1a30450
Try install_versioned_maui
kotlarmilos Dec 2, 2025
980ff4b
Fix NuGet.config path
kotlarmilos Dec 2, 2025
b9f4bdc
Revert changes
kotlarmilos Dec 2, 2025
7ffbbb7
Revert changes
kotlarmilos Dec 10, 2025
e138be4
Test pip install
kotlarmilos Dec 10, 2025
c168ce3
Merge branch 'dotnet:main' into feature/maui-coreclr
kotlarmilos Dec 15, 2025
820b784
Update SDK version resolution logic
kotlarmilos Dec 15, 2025
553baf2
Add verbose flag to pip command
kotlarmilos Dec 15, 2025
3d304ab
Add support for externally-managed environments in pip installation
kotlarmilos Dec 15, 2025
9776ccf
Update Xcode version in MAUI iOS scenario command
kotlarmilos Dec 15, 2025
2aedb16
Update Xcode version in MAUI iOS scenario command
kotlarmilos Dec 15, 2025
515e18b
Refactor pip installation commands for externally-managed environments
kotlarmilos Dec 15, 2025
8237193
Add option to skip Xcode version validation in MAUI iOS scenario command
kotlarmilos Dec 15, 2025
d23f051
Add option to skip Xcode version validation in MAUI iOS scenario command
kotlarmilos Dec 15, 2025
86a96fd
Add MSBuild arguments to MAUI iOS scenario command
kotlarmilos Dec 15, 2025
a52dea8
Add verbose logging to MAUI iOS scenario command
kotlarmilos Dec 15, 2025
e0701c5
Update target framework version in ChannelMap to net10.0
kotlarmilos Dec 16, 2025
a9916f2
Update target framework version
kotlarmilos Dec 16, 2025
4ece98e
Remove logging
kotlarmilos Dec 16, 2025
5518867
Update Apple mobile SDK versions to 26.1.10642-ci.net11-0
kotlarmilos Dec 16, 2025
dc36def
Fix target dependency
kotlarmilos Dec 16, 2025
112cf7a
Revert changes
kotlarmilos Dec 16, 2025
bb4508b
Update MacCatalyst, macOS, iOS, and tvOS SDK versions to 26.1.10555-c…
kotlarmilos Dec 16, 2025
f43963c
Add TargetsCurrent=true
kotlarmilos Dec 16, 2025
a033c20
Set SupportedOSPlatformVersion to 26.0 to avoid iOS 26.1 API linking …
kotlarmilos Dec 16, 2025
c9b515e
Remove SupportedOSPlatformVersion setting and update Xcode version in…
kotlarmilos Dec 16, 2025
fd65821
Don't run MAUI templates
kotlarmilos Dec 16, 2025
dcfbcf0
Comment out XHarnessAppBundleToTest for iOS Maui Default Template
kotlarmilos Dec 16, 2025
206ef41
Fix test command syntax in maui_scenarios_ios.proj for iOS device sta…
kotlarmilos Dec 16, 2025
b8775d1
Improve build process
kotlarmilos Dec 16, 2025
2cf22ef
Update src/scenarios/mauiios/pre.py
kotlarmilos Dec 16, 2025
545702b
Update msbuild arguments for CoreCLR Interpreter and NativeAOT condit…
kotlarmilos Dec 17, 2025
6444b55
Merge branch 'feature/maui-coreclr' of github.com:kotlarmilos/perform…
kotlarmilos Dec 17, 2025
6e7b6e5
Add .NET 11 iOS SDK dependencies and update previous versions
kotlarmilos Dec 17, 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
5 changes: 4 additions & 1 deletion eng/performance/maui_scenarios_ios.proj
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,10 @@
<PreparePayloadWorkItemBaseDirectory Condition="'$(TargetsWindows)' == 'true'">$(CorrelationPayloadDirectory)$(PreparePayloadOutDirectoryName)\</PreparePayloadWorkItemBaseDirectory>
<PreparePayloadWorkItemBaseDirectory Condition="'$(TargetsWindows)' != 'true'">$(CorrelationPayloadDirectory)$(PreparePayloadOutDirectoryName)/</PreparePayloadWorkItemBaseDirectory>

<NativeAOTCommandProps Condition="'$(RuntimeFlavor)' == 'coreclr'">--nativeaot true</NativeAOTCommandProps>
<NativeAOTCommandProps Condition="'$(RuntimeFlavor)' == 'coreclr' and '$(PublishAot)' == 'true'">--nativeaot true</NativeAOTCommandProps>

<_MSBuildArgs Condition="'$(RuntimeFlavor)' == 'mono'">/p:UseMonoRuntime=true</_MSBuildArgs>
<_MSBuildArgs Condition="'$(RuntimeFlavor)' == 'coreclr'">/p:UseMonoRuntime=false</_MSBuildArgs>
</PropertyGroup>

<Target Name="RemoveDotnetFromCorrelationStaging" BeforeTargets="BeforeTest">
Expand Down
18 changes: 18 additions & 0 deletions eng/pipelines/sdk-perf-jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -507,6 +507,24 @@ jobs:
${{ each parameter in parameters.jobParameters }}:
${{ parameter.key }}: ${{ parameter.value }}

# Maui iOS CoreCLR scenario benchmarks
- template: /eng/pipelines/templates/build-machine-matrix.yml
parameters:
jobTemplate: /eng/pipelines/templates/run-scenarios-job.yml
buildMachines:
- osx-x64-ios-arm64
isPublic: false
jobParameters:
runKind: maui_scenarios_ios
projectFileName: maui_scenarios_ios.proj
channels:
- main
runtimeFlavor: coreclr
codeGenType: Interpreter
additionalJobIdentifier: CoreCLR
${{ each parameter in parameters.jobParameters }}:
${{ parameter.key }}: ${{ parameter.value }}

# Maui iOS Native AOT scenario benchmarks
- template: /eng/pipelines/templates/build-machine-matrix.yml
parameters:
Expand Down
29 changes: 26 additions & 3 deletions scripts/run_performance_job.py
Original file line number Diff line number Diff line change
Expand Up @@ -1008,9 +1008,32 @@ def publish_dotnet_app_to_payload(payload_dir_name: str, csproj_path: str, self_

# TODO: See if these commands are needed for linux as they were being called before but were failing.
if args.os_group == "windows" or args.os_group == "osx":
RunCommand([*(agent_python.split(" ")), "-m", "pip", "install", "--user", "--upgrade", "pip"]).run()
RunCommand([*(agent_python.split(" ")), "-m", "pip", "install", "--user", "urllib3==1.26.19"]).run()
RunCommand([*(agent_python.split(" ")), "-m", "pip", "install", "--user", "requests"]).run()
# Check if pip exists and if --user flag is supported
pip_exists = False
user_flag_supported = False

try:
RunCommand([*(agent_python.split(" ")), "-m", "pip", "--version"]).run()
pip_exists = True
except CalledProcessError:
getLogger().warning("pip is not available")

if pip_exists:
# Check if --user flag is supported by doing a dry-run
try:
RunCommand([*(agent_python.split(" ")), "-m", "pip", "install", "--user", "--dry-run", "pip"]).run()
user_flag_supported = True
except CalledProcessError:
getLogger().warning("--user flag is not supported in this environment")

if user_flag_supported:
RunCommand([*(agent_python.split(" ")), "-m", "pip", "install", "--user", "--upgrade", "pip"]).run()
RunCommand([*(agent_python.split(" ")), "-m", "pip", "install", "--user", "urllib3==1.26.19"]).run()
RunCommand([*(agent_python.split(" ")), "-m", "pip", "install", "--user", "requests"]).run()
else:
RunCommand([*(agent_python.split(" ")), "-m", "pip", "install", "--upgrade", "pip"]).run()
RunCommand([*(agent_python.split(" ")), "-m", "pip", "install", "urllib3==1.26.19"]).run()
RunCommand([*(agent_python.split(" ")), "-m", "pip", "install", "requests"]).run()

scenarios_path = os.path.join(args.performance_repo_dir, "src", "scenarios")
script_path = os.path.join(args.performance_repo_dir, "scripts")
Expand Down
Loading