diff --git a/eng/pipelines/coreclr/templates/build-perf-maui-apps.yml b/eng/pipelines/coreclr/templates/build-perf-maui-apps.yml
index 610ee5b5b34d78..46ea08245e8017 100644
--- a/eng/pipelines/coreclr/templates/build-perf-maui-apps.yml
+++ b/eng/pipelines/coreclr/templates/build-perf-maui-apps.yml
@@ -209,8 +209,6 @@ steps:
- script: |
./dotnet new maui-blazor -n MauiBlazorTesting
cd MauiBlazorTesting
- # cp $(Build.SourcesDirectory)/src/tests/Common/maui/MauiScenario.props ./Directory.Build.props
- # cp $(Build.SourcesDirectory)/src/tests/Common/maui/MauiScenario.targets ./Directory.Build.targets
cp $(Build.SourcesDirectory)/NuGet.config ./NuGet.config
echo -e "using Microsoft.AspNetCore.Components;
@@ -250,6 +248,26 @@ 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
+
+ ../dotnet publish -bl:MauiBlazoriOS.binlog -f net6.0-ios --self-contained -r ios-arm64 -c Release /p:_RequireCodeSigning=false
+ mv ./bin/Release/net6.0-ios/ios-arm64/publish/MauiBlazorTesting.ipa ./MauiBlazoriOSDefault.ipa
+
+ cp MauiBlazorTesting.csproj.bak MauiBlazorTesting.csproj
+ displayName: Build MAUI Blazor iOS
+ workingDirectory: $(Build.SourcesDirectory)/MauiBlazorTesting
+
+ - script: |
+ chmod -R a+r .
+ ../dotnet publish -bl:MauiBlazorMacCatalyst.binlog -f net6.0-maccatalyst -c Release
+ 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()
@@ -257,6 +275,20 @@ steps:
pathtoPublish: $(Build.SourcesDirectory)/MauiTesting/MauiAndroid.binlog
artifactName: ${{ parameters.artifactName }}
+ - task: PublishBuildArtifacts@1
+ displayName: 'Publish MauiiOS binlog'
+ condition: always()
+ inputs:
+ pathtoPublish: $(Build.SourcesDirectory)/MauiTesting/MauiiOS.binlog
+ artifactName: ${{ parameters.artifactName }}
+
+ - task: PublishBuildArtifacts@1
+ displayName: 'Publish MauiMacCatalyst binlog'
+ condition: always()
+ inputs:
+ pathtoPublish: $(Build.SourcesDirectory)/MauiTesting/MauiMacCatalyst.binlog
+ artifactName: ${{ parameters.artifactName }}
+
- task: PublishBuildArtifacts@1
displayName: 'Publish MauiBlazorAndroid binlog'
condition: always()
@@ -265,17 +297,17 @@ steps:
artifactName: ${{ parameters.artifactName }}
- task: PublishBuildArtifacts@1
- displayName: 'Publish MauiiOS binlog'
+ displayName: 'Publish MauiBlazoriOS binlog'
condition: always()
inputs:
- pathtoPublish: $(Build.SourcesDirectory)/MauiTesting/MauiiOS.binlog
+ pathtoPublish: $(Build.SourcesDirectory)/MauiBlazorTesting/MauiBlazoriOS.binlog
artifactName: ${{ parameters.artifactName }}
- task: PublishBuildArtifacts@1
- displayName: 'Publish MauiMacCatalyst binlog'
+ displayName: 'Publish MauiBlazorMacCatalyst binlog'
condition: always()
inputs:
- pathtoPublish: $(Build.SourcesDirectory)/MauiTesting/MauiMacCatalyst.binlog
+ pathtoPublish: $(Build.SourcesDirectory)/MauiBlazorTesting/MauiBlazorMacCatalyst.binlog
artifactName: ${{ parameters.artifactName }}
- task: PublishBuildArtifacts@1
@@ -325,6 +357,16 @@ steps:
archiveType: tar
tarCompression: gz
+ - template: /eng/pipelines/common/upload-artifact-step.yml
+ parameters:
+ rootFolder: $(Build.SourcesDirectory)/MauiBlazorpTesting/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
@@ -345,6 +387,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 dd5a045767bd16..ad0660505362f4 100644
--- a/eng/pipelines/coreclr/templates/perf-job.yml
+++ b/eng/pipelines/coreclr/templates/perf-job.yml
@@ -237,6 +237,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 b22caf0aa1f2fb..394be17d2946f7 100644
--- a/eng/testing/performance/ios_scenarios.proj
+++ b/eng/testing/performance/ios_scenarios.proj
@@ -48,6 +48,24 @@
$(Python) test.py sod --scenario-name "%(Identity)"
$(Python) post.py
+
+ $(WorkItemDirectory)
+ cd $(ScenarioDirectory)mauiblazorios;copy %HELIX_CORRELATION_PAYLOAD%\MauiBlazoriOSDefaultIPA\MauiBlazoriOSDefault.ipa .;$(Python) pre.py --name MauiBlazoriOSDefault.ipa
+ $(Python) test.py sod --scenario-name "%(Identity)"
+ $(Python) post.py
+
+
+ $(WorkItemDirectory)
+ cd $(ScenarioDirectory)mauiblazorios;copy %HELIX_CORRELATION_PAYLOAD%\MauiBlazoriOSDefaultIPA\MauiBlazoriOSDefault.ipa .;$(Python) pre.py --unzip --name MauiBlazoriOSDefault.ipa
+ $(Python) test.py sod --scenario-name "%(Identity)"
+ $(Python) post.py
+
+
+ $(WorkItemDirectory)
+ cd $(ScenarioDirectory)mauiblazorios;xcopy %HELIX_CORRELATION_PAYLOAD%\MauiBlazorMacCatalystDefault .\app/e/i;$(Python) pre.py --name app
+ $(Python) test.py sod --scenario-name "%(Identity)"
+ $(Python) post.py
+
$(WorkItemDirectory)
cd $(ScenarioDirectory)mauiios;copy %HELIX_CORRELATION_PAYLOAD%\MauiiOSPodcastIPA\MauiiOSPodcast.ipa .;$(Python) pre.py --name MauiiOSPodcast.ipa
diff --git a/eng/testing/performance/performance-setup.ps1 b/eng/testing/performance/performance-setup.ps1
index 82fb7de964d5bf..98540affe1bb6b 100644
--- a/eng/testing/performance/performance-setup.ps1
+++ b/eng/testing/performance/performance-setup.ps1
@@ -173,6 +173,8 @@ if ($iOSMono) {
Copy-Item -path "$SourceDirectory\iosHelloWorld\nollvm" $PayloadDirectory\iosHelloWorld\nollvm -Recurse
Copy-Item -path "$SourceDirectory\MauiiOSDefaultIPA" $PayloadDirectory\MauiiOSDefaultIPA -Recurse
Copy-Item -path "$SourceDirectory\MauiMacCatalystDefault\MauiMacCatalystDefault.app" $PayloadDirectory\MauiMacCatalystDefault -Recurse
+ Copy-Item -path "$SourceDirectory\MauiBlazoriOSDefaultIPA" $PayloadDirectory\MauiBlazoriOSDefaultIPA -Recurse
+ Copy-Item -path "$SourceDirectory\MauiBlazorMacCatalystDefault\MauiBlazorMacCatalystDefault.app" $PayloadDirectory\MauiBlazorMacCatalystDefault -Recurse
Copy-Item -path "$SourceDirectory\MauiiOSPodcastIPA" $PayloadDirectory\MauiiOSPodcastIPA -Recurse
}