diff --git a/eng/pipelines/coreclr/templates/build-perf-maui-apps.yml b/eng/pipelines/coreclr/templates/build-perf-maui-apps.yml
index 92e0f18aeef53..6e13325ef98c8 100644
--- a/eng/pipelines/coreclr/templates/build-perf-maui-apps.yml
+++ b/eng/pipelines/coreclr/templates/build-perf-maui-apps.yml
@@ -236,7 +236,7 @@ steps:
var activity = MainActivity.Context as Activity;
activity.ReportFullyDrawn();
#else
- System.Console.WriteLine("__MAUI_Blazor_WebView_OnAfterRender__");
+ System.Console.WriteLine(\"__MAUI_Blazor_WebView_OnAfterRender__\");
#endif
}
}
@@ -256,6 +256,40 @@ steps:
displayName: Build MAUI Blazor Android
workingDirectory: $(Build.SourcesDirectory)/MauiBlazorTesting
+ - script: |
+ chmod -R a+r .
+ # remove net6.0-maccatalyst to work around https://github.com/dotnet/sdk/issues/21877
+ cp MauiBlazorTesting.csproj MauiBlazorTesting.csproj.bak
+ sed -i'' -e 's/net6.0-ios;net6.0-maccatalyst/net6.0-ios/g' MauiBlazorTesting.csproj
+
+ # NuGet.config file cannot be in the build directory currently due to https://github.com/dotnet/aspnetcore/issues/41397
+ rm NuGet.config
+
+ ../dotnet publish -bl:MauiBlazoriOS.binlog -f net6.0-ios --self-contained -r ios-arm64 -c Release /p:_RequireCodeSigning=false /p:ApplicationId=net.dot.mauiblazortesting
+ mv ./bin/Release/net6.0-ios/ios-arm64/publish/MauiBlazorTesting.ipa ./MauiBlazoriOSDefault.ipa
+
+ # Restore NuGet.config
+ cp $(Build.SourcesDirectory)/NuGet.config ./NuGet.config
+
+ cp MauiBlazorTesting.csproj.bak MauiBlazorTesting.csproj
+ displayName: Build MAUI Blazor iOS
+ workingDirectory: $(Build.SourcesDirectory)/MauiBlazorTesting
+
+ - script: |
+ chmod -R a+r .
+
+ # NuGet.config file cannot be in the build directory currently due to https://github.com/dotnet/aspnetcore/issues/41397
+ rm NuGet.config
+
+ ../dotnet publish -bl:MauiBlazorMacCatalyst.binlog -f net6.0-maccatalyst -c Release
+
+ # Restore NuGet.config
+ cp $(Build.SourcesDirectory)/NuGet.config ./NuGet.config
+
+ mv ./bin/Release/net6.0-maccatalyst/maccatalyst-x64/MauiBlazorTesting.app ./MauiBlazorMacCatalystDefault.app
+ displayName: Build MAUI Blazor MacCatalyst
+ workingDirectory: $(Build.SourcesDirectory)/MauiBlazorTesting
+
- task: PublishBuildArtifacts@1
displayName: 'Publish MauiAndroid binlog'
condition: always()
@@ -284,6 +318,27 @@ steps:
pathtoPublish: $(Build.SourcesDirectory)/MauiTesting/MauiMacCatalyst.binlog
artifactName: ${{ parameters.artifactName }}
+ - task: PublishBuildArtifacts@1
+ displayName: 'Publish MauiBlazorAndroid binlog'
+ condition: always()
+ inputs:
+ pathtoPublish: $(Build.SourcesDirectory)/MauiBlazorTesting/MauiBlazorAndroid.binlog
+ artifactName: ${{ parameters.artifactName }}
+
+ - task: PublishBuildArtifacts@1
+ displayName: 'Publish MauiBlazoriOS binlog'
+ condition: always()
+ inputs:
+ pathtoPublish: $(Build.SourcesDirectory)/MauiBlazorTesting/MauiBlazoriOS.binlog
+ artifactName: ${{ parameters.artifactName }}
+
+ - task: PublishBuildArtifacts@1
+ displayName: 'Publish MauiBlazorMacCatalyst binlog'
+ condition: always()
+ inputs:
+ pathtoPublish: $(Build.SourcesDirectory)/MauiBlazorTesting/MauiBlazorMacCatalyst.binlog
+ artifactName: ${{ parameters.artifactName }}
+
- task: PublishBuildArtifacts@1
displayName: 'Publish MauiiOSPodcast binlog'
condition: always()
@@ -331,6 +386,16 @@ steps:
archiveType: tar
tarCompression: gz
+ - template: /eng/pipelines/common/upload-artifact-step.yml
+ parameters:
+ rootFolder: $(Build.SourcesDirectory)/MauiBlazorTesting/MauiBlazoriOSDefault.ipa
+ includeRootFolder: true
+ displayName: Maui Blazor iOS IPA
+ artifactName: MauiBlazoriOSDefaultIPA
+ archiveExtension: '.tar.gz'
+ archiveType: tar
+ tarCompression: gz
+
- template: /eng/pipelines/common/upload-artifact-step.yml
parameters:
rootFolder: $(Build.SourcesDirectory)/dotnet-podcasts/src/Mobile/MauiiOSPodcast.ipa
@@ -351,6 +416,16 @@ steps:
archiveType: tar
tarCompression: gz
+ - template: /eng/pipelines/common/upload-artifact-step.yml
+ parameters:
+ rootFolder: $(Build.SourcesDirectory)/MauiBlazorTesting/MauiBlazorMacCatalystDefault.app
+ includeRootFolder: true
+ displayName: Maui Blazor MacCatalyst App
+ artifactName: MauiBlazorMacCatalystDefault
+ archiveExtension: '.tar.gz'
+ archiveType: tar
+ tarCompression: gz
+
- script: rm -r -f ./bin
workingDirectory: $(Build.SourcesDirectory)/MauiTesting
displayName: Clean MauiTesting bin directory
diff --git a/eng/pipelines/coreclr/templates/perf-job.yml b/eng/pipelines/coreclr/templates/perf-job.yml
index 2c120c9210415..49b743c0b2f0d 100644
--- a/eng/pipelines/coreclr/templates/perf-job.yml
+++ b/eng/pipelines/coreclr/templates/perf-job.yml
@@ -255,6 +255,20 @@ jobs:
artifactFileName: 'MauiiOSPodcastIPA.tar.gz'
artifactName: 'MauiiOSPodcastIPA'
displayName: 'Maui iOS Podcast IPA'
+ - template: /eng/pipelines/common/download-artifact-step.yml
+ parameters:
+ unpackFolder: $(Build.SourcesDirectory)/MauiBlazoriOSDefaultIPA
+ cleanUnpackFolder: false
+ artifactFileName: 'MauiBlazoriOSDefaultIPA.tar.gz'
+ artifactName: 'MauiBlazoriOSDefaultIPA'
+ displayName: 'Maui Blazor iOS IPA'
+ - template: /eng/pipelines/common/download-artifact-step.yml
+ parameters:
+ unpackFolder: $(Build.SourcesDirectory)/MauiBlazorMacCatalystDefault
+ cleanUnpackFolder: false
+ artifactFileName: 'MauiBlazorMacCatalystDefault.tar.gz'
+ artifactName: 'MauiBlazorMacCatalystDefault'
+ displayName: 'Maui Blazor MacCatalyst App'
# Create Core_Root
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(buildConfig) $(archType) generatelayoutonly $(librariesOverrideArg)
diff --git a/eng/testing/performance/ios_scenarios.proj b/eng/testing/performance/ios_scenarios.proj
index 885bb75d3180b..06b4d721c9a2d 100644
--- a/eng/testing/performance/ios_scenarios.proj
+++ b/eng/testing/performance/ios_scenarios.proj
@@ -18,10 +18,10 @@
nollvm
llvm
-
+
%HELIX_CORRELATION_PAYLOAD%\performance\src\scenarios\
-
+
$HELIX_CORRELATION_PAYLOAD/performance/src/scenarios/
@@ -29,10 +29,10 @@
- $(WorkItemDirectory)
- cd $(ScenarioDirectory)helloios;cp -rf $HELIX_CORRELATION_PAYLOAD/iosHelloWorld/$(LlvmPath) ./app;$(Python) pre.py --name app
- $(Python) test.py sod --scenario-name "%(Identity)"
- $(Python) post.py
+ $(WorkItemDirectory)
+ cd $(ScenarioDirectory)helloios;cp -rf $HELIX_CORRELATION_PAYLOAD/iosHelloWorld/$(LlvmPath) ./app;$(Python) pre.py --name app
+ $(Python) test.py sod --scenario-name "%(Identity)"
+ $(Python) post.py
$(WorkItemDirectory)
@@ -84,6 +84,24 @@
$(Python) test.py sod --scenario-name "%(Identity)"
$(Python) post.py
+
+ $(WorkItemDirectory)
+ cd $(ScenarioDirectory)mauiblazorios;cp $HELIX_CORRELATION_PAYLOAD/MauiBlazoriOSDefault.ipa .;$(Python) pre.py --name MauiBlazoriOSDefault.ipa
+ $(Python) test.py sod --scenario-name "%(Identity)"
+ $(Python) post.py
+
+
+ $(WorkItemDirectory)
+ cd $(ScenarioDirectory)mauiblazorios;cp $HELIX_CORRELATION_PAYLOAD/MauiBlazoriOSDefault.ipa .;$(Python) pre.py --unzip --name MauiBlazoriOSDefault.ipa
+ $(Python) test.py sod --scenario-name "%(Identity)"
+ $(Python) post.py
+
+
+ $(WorkItemDirectory)
+ cd $(ScenarioDirectory)mauiblazorios;cp -rf $HELIX_CORRELATION_PAYLOAD/MauiBlazorMacCatalystDefault ./app;$(Python) pre.py --name app
+ $(Python) test.py sod --scenario-name "%(Identity)"
+ $(Python) post.py
+
$(WorkItemDirectory)
cd $(ScenarioDirectory)mauiios;cp $HELIX_CORRELATION_PAYLOAD/MauiiOSPodcast.ipa .;$(Python) pre.py --name MauiiOSPodcast.ipa
@@ -96,38 +114,63 @@
$(Python) test.py sod --scenario-name "%(Identity)"
$(Python) post.py
-
- $(WorkItemDirectory).zip
- 00:15:00
- ios-device
-
-
+ $(WorkItemDirectory).zip
+ 00:15:00
+ ios-device
+
+
+
+
+
+ $(WorkItemDirectory).zip
+ 00:15:00
+ ios-device
+
+
-
-
+
+
- $(WorkItemDirectory).zip
- 00:15:00
- ios-device
-
- $(WorkItemDirectory).zip
+ 00:15:00
+ ios-device
+
+
-
-
+
+