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 }