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 + + - - + +