diff --git a/eng/Versions.props b/eng/Versions.props index 9699ff0e1a2471..51bfef2443dfb1 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -163,7 +163,7 @@ 2.0.4 4.12.0 2.14.3 - 7.0.100-preview.3.22151.18 + 7.0.100-preview.4.22178.4 1.1.2-beta1.22122.4 7.0.0-preview-20220316.2 diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index 812abe68d894f0..e65d2f6ffe094c 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -22,6 +22,21 @@ trigger: variables: - template: /eng/pipelines/common/variables.yml + - name: _wasmCollectHelixLogsScript + value: >- + test "$_commandExitCode" -eq 0 || ( + test -d $"HELIX_WORKITEM_UPLOAD_ROOT" && ( + export _PERF_DIR=$HELIX_CORRELATION_PAYLOAD/performance; + mkdir -p $HELIX_WORKITEM_UPLOAD_ROOT/log/MicroBenchmarks/obj; + mkdir -p $HELIX_WORKITEM_UPLOAD_ROOT/log/MicroBenchmarks/bin; + mkdir -p $HELIX_WORKITEM_UPLOAD_ROOT/log/BenchmarkDotNet.Autogenerated/obj; + mkdir -p $HELIX_WORKITEM_UPLOAD_ROOT/log/BenchmarkDotNet.Autogenerated/bin; + find $_PERF_DIR -name '*.binlog' | xargs -I{} cp {} $HELIX_WORKITEM_UPLOAD_ROOT/log; + cp -R $_PERF_DIR/artifacts/obj/MicroBenchmarks $HELIX_WORKITEM_UPLOAD_ROOT/log/MicroBenchmarks/obj; + cp -R $_PERF_DIR/artifacts/bin/MicroBenchmarks $HELIX_WORKITEM_UPLOAD_ROOT/log/MicroBenchmarks/bin; + cp -R $_PERF_DIR/artifacts/obj/BenchmarkDotNet.Autogenerated $HELIX_WORKITEM_UPLOAD_ROOT/log/BenchmarkDotNet.Autogenerated/obj; + cp -R $_PERF_DIR/artifacts/bin/BenchmarkDotNet.Autogenerated $HELIX_WORKITEM_UPLOAD_ROOT/log/BenchmarkDotNet.Autogenerated/bin)) + schedules: - cron: "30 2 * * *" displayName: Every night at 2:30AM @@ -87,6 +102,7 @@ jobs: runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml logicalmachine: 'perftiger' javascriptEngine: 'javascriptcore' + collectHelixLogsScript: ${{ variables['_wasmCollectHelixLogsScript'] }} #run mono wasm aot microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml @@ -107,21 +123,22 @@ jobs: runjobtemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml logicalmachine: 'perftiger' javascriptengine: 'javascriptcore' + collectHelixLogsScript: ${{ variables['_wasmCollectHelixLogsScript'] }} - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'Schedule')) }}: # build coreclr and libraries - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml - buildConfig: release - platforms: - - Linux_x64 - - windows_x64 - - windows_x86 - - Linux_musl_x64 - jobParameters: - testGroup: perf + #- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml + #buildConfig: release + #platforms: + #- Linux_x64 + #- windows_x64 + #- windows_x86 + #- Linux_musl_x64 + #jobParameters: + #testGroup: perf # build mono on wasm - template: /eng/pipelines/common/platform-matrix.yml @@ -140,171 +157,171 @@ jobs: configForBuild: Release # build mono for AOT - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: AOT - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: AOT Mono Artifacts - artifactName: LinuxMonoAOTx64 - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz + #- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #buildConfig: release + #runtimeFlavor: mono + #platforms: + #- Linux_x64 + #jobParameters: + #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + #nameSuffix: AOT + #isOfficialBuild: false + #extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + #extraStepsParameters: + #rootFolder: '$(Build.SourcesDirectory)/artifacts/' + #includeRootFolder: true + #displayName: AOT Mono Artifacts + #artifactName: LinuxMonoAOTx64 + #archiveExtension: '.tar.gz' + #archiveType: tar + #tarCompression: gz - # build mono Android scenarios - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Android_arm64 - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: AndroidMono - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: Android Mono Artifacts - artifactName: AndroidMonoarm64 - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz + ## build mono Android scenarios + #- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #buildConfig: release + #runtimeFlavor: mono + #platforms: + #- Android_arm64 + #jobParameters: + #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + #nameSuffix: AndroidMono + #isOfficialBuild: false + #extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml + #extraStepsParameters: + #rootFolder: '$(Build.SourcesDirectory)/artifacts/' + #includeRootFolder: true + #displayName: Android Mono Artifacts + #artifactName: AndroidMonoarm64 + #archiveExtension: '.tar.gz' + #archiveType: tar + #tarCompression: gz - # build mono iOS scenarios - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - iOS_arm64 - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: iOSMono - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: iOS Mono Artifacts - artifactName: iOSMonoarm64 - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz + ## build mono iOS scenarios + #- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #buildConfig: release + #runtimeFlavor: mono + #platforms: + #- iOS_arm64 + #jobParameters: + #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + #nameSuffix: iOSMono + #isOfficialBuild: false + #extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml + #extraStepsParameters: + #rootFolder: '$(Build.SourcesDirectory)/artifacts/' + #includeRootFolder: true + #displayName: iOS Mono Artifacts + #artifactName: iOSMonoarm64 + #archiveExtension: '.tar.gz' + #archiveType: tar + #tarCompression: gz - # build mono - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/mono/templates/build-job.yml - runtimeFlavor: mono - buildConfig: release - platforms: - - Linux_x64 + ## build mono + #- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/mono/templates/build-job.yml + #runtimeFlavor: mono + #buildConfig: release + #platforms: + #- Linux_x64 - # run mono and maui android scenarios - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Windows_x64 - variables: - - name: mauiVersion - value: $[ dependencies.Build_iOS_arm64_release_MACiOSAndroidMaui.outputs['getMauiVersion.mauiVersion'] ] - jobParameters: - testGroup: perf - runtimeType: AndroidMono - projectFile: android_scenarios.proj - runKind: android_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - logicalmachine: 'perfpixel4a' - additionalSetupParameters: "-MauiVersion $env:mauiVersion" + ## run mono and maui android scenarios + #- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + #buildConfig: release + #runtimeFlavor: mono + #platforms: + #- Windows_x64 + #variables: + #- name: mauiVersion + #value: $[ dependencies.Build_iOS_arm64_release_MACiOSAndroidMaui.outputs['getMauiVersion.mauiVersion'] ] + #jobParameters: + #testGroup: perf + #runtimeType: AndroidMono + #projectFile: android_scenarios.proj + #runKind: android_scenarios + #runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + #logicalmachine: 'perfpixel4a' + #additionalSetupParameters: "-MauiVersion $env:mauiVersion" - # run mono iOS scenarios and maui iOS scenarios - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Windows_x64 - variables: - - name: mauiVersion - value: $[ dependencies.Build_iOS_arm64_release_MACiOSAndroidMaui.outputs['getMauiVersion.mauiVersion'] ] - jobParameters: - testGroup: perf - runtimeType: iOSMono - projectFile: ios_scenarios.proj - runKind: ios_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - logicalmachine: 'perfpixel4a' - iosLlvmBuild: False - additionalSetupParameters: "-MauiVersion $env:mauiVersion" + ## run mono iOS scenarios and maui iOS scenarios + #- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + #buildConfig: release + #runtimeFlavor: mono + #platforms: + #- Windows_x64 + #variables: + #- name: mauiVersion + #value: $[ dependencies.Build_iOS_arm64_release_MACiOSAndroidMaui.outputs['getMauiVersion.mauiVersion'] ] + #jobParameters: + #testGroup: perf + #runtimeType: iOSMono + #projectFile: ios_scenarios.proj + #runKind: ios_scenarios + #runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + #logicalmachine: 'perfpixel4a' + #iosLlvmBuild: False + #additionalSetupParameters: "-MauiVersion $env:mauiVersion" - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Windows_x64 - jobParameters: - testGroup: perf - runtimeType: iOSMono - projectFile: ios_scenarios.proj - runKind: ios_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - logicalmachine: 'perfpixel4a' - iosLlvmBuild: True + #- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + #buildConfig: release + #runtimeFlavor: mono + #platforms: + #- Windows_x64 + #jobParameters: + #testGroup: perf + #runtimeType: iOSMono + #projectFile: ios_scenarios.proj + #runKind: ios_scenarios + #runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + #logicalmachine: 'perfpixel4a' + #iosLlvmBuild: True - # run mono microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' + ## run mono microbenchmarks perf job + #- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + #buildConfig: release + #runtimeFlavor: mono + #platforms: + #- Linux_x64 + #jobParameters: + #testGroup: perf + #liveLibrariesBuildConfig: Release + #runtimeType: mono + #projectFile: microbenchmarks.proj + #runKind: micro_mono + #runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + #logicalmachine: 'perftiger' - # run mono interpreter perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - codeGenType: 'Interpreter' - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' + ## run mono interpreter perf job + #- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + #buildConfig: release + #runtimeFlavor: mono + #platforms: + #- Linux_x64 + #jobParameters: + #testGroup: perf + #liveLibrariesBuildConfig: Release + #runtimeType: mono + #codeGenType: 'Interpreter' + #projectFile: microbenchmarks.proj + #runKind: micro_mono + #runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + #logicalmachine: 'perftiger' # run mono wasm interpreter (default) microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml @@ -325,6 +342,7 @@ jobs: runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml logicalmachine: 'perftiger' javascriptEngine: 'v8' + collectHelixLogsScript: ${{ variables['_wasmCollectHelixLogsScript'] }} #run mono wasm aot microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml @@ -345,127 +363,128 @@ jobs: runjobtemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml logicalmachine: 'perftiger' javascriptEngine: 'v8' + collectHelixLogsScript: ${{ variables['_wasmCollectHelixLogsScript'] }} # run mono aot microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - buildConfig: release - runtimeFlavor: aot - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - codeGenType: 'AOT' - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' + #- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? + #buildConfig: release + #runtimeFlavor: aot + #platforms: + #- Linux_x64 + #jobParameters: + #testGroup: perf + #liveLibrariesBuildConfig: Release + #runtimeType: mono + #codeGenType: 'AOT' + #projectFile: microbenchmarks.proj + #runKind: micro_mono + #runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + #logicalmachine: 'perftiger' - # run coreclr perftiger microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - Linux_x64 - - windows_x64 - - windows_x86 - - Linux_musl_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' + ## run coreclr perftiger microbenchmarks perf job + #- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + #buildConfig: release + #runtimeFlavor: coreclr + #platforms: + #- Linux_x64 + #- windows_x64 + #- windows_x86 + #- Linux_musl_x64 + #jobParameters: + #testGroup: perf + #liveLibrariesBuildConfig: Release + #projectFile: microbenchmarks.proj + #runKind: micro + #runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + #logicalmachine: 'perftiger' - # run coreclr perftiger microbenchmarks pgo perf jobs - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -NoPgo + ## run coreclr perftiger microbenchmarks pgo perf jobs + #- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + #buildConfig: release + #runtimeFlavor: coreclr + #platforms: + #- windows_x64 + #jobParameters: + #testGroup: perf + #liveLibrariesBuildConfig: Release + #projectFile: microbenchmarks.proj + #runKind: micro + #runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + #logicalmachine: 'perftiger' + #pgoRunType: -NoPgo - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -DynamicPgo + #- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + #buildConfig: release + #runtimeFlavor: coreclr + #platforms: + #- windows_x64 + #jobParameters: + #testGroup: perf + #liveLibrariesBuildConfig: Release + #projectFile: microbenchmarks.proj + #runKind: micro + #runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + #logicalmachine: 'perftiger' + #pgoRunType: -DynamicPgo - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -FullPgo + #- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + #buildConfig: release + #runtimeFlavor: coreclr + #platforms: + #- windows_x64 + #jobParameters: + #testGroup: perf + #liveLibrariesBuildConfig: Release + #projectFile: microbenchmarks.proj + #runKind: micro + #runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + #logicalmachine: 'perftiger' + #pgoRunType: -FullPgo - # run coreclr perfowl microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - Linux_x64 - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perfowl' + ## run coreclr perfowl microbenchmarks perf job + #- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + #buildConfig: release + #runtimeFlavor: coreclr + #platforms: + #- Linux_x64 + #- windows_x64 + #jobParameters: + #testGroup: perf + #liveLibrariesBuildConfig: Release + #projectFile: microbenchmarks.proj + #runKind: micro + #runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + #logicalmachine: 'perfowl' - # run coreclr crossgen perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - Linux_x64 - - windows_x64 - - windows_x86 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: crossgen_perf.proj - runKind: crossgen_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - logicalmachine: 'perftiger' + ## run coreclr crossgen perf job + #- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + #buildConfig: release + #runtimeFlavor: coreclr + #platforms: + #- Linux_x64 + #- windows_x64 + #- windows_x86 + #jobParameters: + #testGroup: perf + #liveLibrariesBuildConfig: Release + #projectFile: crossgen_perf.proj + #runKind: crossgen_scenarios + #runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + #logicalmachine: 'perftiger' # run mono wasm blazor perf job - template: /eng/pipelines/common/platform-matrix.yml @@ -511,35 +530,35 @@ jobs: # name: MonoRuntimePacks # build maui app - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - iOS_arm64 - jobParameters: - # Uncomment to reenable package replacement - #dependsOn: - # - Build_Android_arm_release_Maui_Packs_Mono - # - Build_Android_arm64_release_Maui_Packs_Mono - # - Build_Android_x86_release_Maui_Packs_Mono - # - Build_Android_x64_release_Maui_Packs_Mono - # - Build_MacCatalyst_x64_release_Maui_Packs_Mono - # - Build_iOSSimulator_x64_release_Maui_Packs_Mono - # - Build_iOS_arm_release_Maui_Packs_Mono - # - Build_iOS_arm64_release_Maui_Packs_Mono - buildArgs: -s mono -c $(_BuildConfig) - nameSuffix: MACiOSAndroidMaui - isOfficialBuild: false - pool: - vmImage: 'macos-11' - extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-maui-apps.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: MAC, iOS, and Android Maui Artifacts - artifactName: MACiOSAndroidMauiArm - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz + #- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #buildConfig: release + #runtimeFlavor: mono + #platforms: + #- iOS_arm64 + #jobParameters: + ## Uncomment to reenable package replacement + ##dependsOn: + ## - Build_Android_arm_release_Maui_Packs_Mono + ## - Build_Android_arm64_release_Maui_Packs_Mono + ## - Build_Android_x86_release_Maui_Packs_Mono + ## - Build_Android_x64_release_Maui_Packs_Mono + ## - Build_MacCatalyst_x64_release_Maui_Packs_Mono + ## - Build_iOSSimulator_x64_release_Maui_Packs_Mono + ## - Build_iOS_arm_release_Maui_Packs_Mono + ## - Build_iOS_arm64_release_Maui_Packs_Mono + #buildArgs: -s mono -c $(_BuildConfig) + #nameSuffix: MACiOSAndroidMaui + #isOfficialBuild: false + #pool: + #vmImage: 'macos-11' + #extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-maui-apps.yml + #extraStepsParameters: + #rootFolder: '$(Build.SourcesDirectory)/artifacts/' + #includeRootFolder: true + #displayName: MAC, iOS, and Android Maui Artifacts + #artifactName: MACiOSAndroidMauiArm + #archiveExtension: '.tar.gz' + #archiveType: tar + #tarCompression: gz diff --git a/eng/pipelines/coreclr/templates/perf-job.yml b/eng/pipelines/coreclr/templates/perf-job.yml index a32d0aab3329f4..78de98959b5d7d 100644 --- a/eng/pipelines/coreclr/templates/perf-job.yml +++ b/eng/pipelines/coreclr/templates/perf-job.yml @@ -20,6 +20,7 @@ parameters: javascriptEngine: 'NoJS' iOSLlvmBuild: 'False' skipLiveLibrariesDownload: false + collectHelixLogsScript: '' ### Perf job @@ -55,6 +56,8 @@ jobs: ${{ if and(eq(parameters.runtimeType, 'wasm'), ne(parameters.codeGenType, 'aot')) }}: helixTypeSuffix: '/wasm' + collectHelixLogsScript: ${{ parameters.collectHelixLogsScript }} + # Test job depends on the corresponding build job dependsOn: - ${{ if not(in(parameters.runtimeType, 'AndroidMono', 'iOSMono', 'wasm')) }}: diff --git a/eng/pipelines/coreclr/templates/run-performance-job.yml b/eng/pipelines/coreclr/templates/run-performance-job.yml index 77e748df18f9fe..be06b213e54724 100644 --- a/eng/pipelines/coreclr/templates/run-performance-job.yml +++ b/eng/pipelines/coreclr/templates/run-performance-job.yml @@ -24,6 +24,7 @@ parameters: logicalMachine: '' # required -- Used to specify a which pool of machines the test should run against javascriptEngine: 'NoJS' helixTypeSuffix: '' # optional -- appends to HelixType + collectHelixLogsScript: '' # optional -- script to collect the logs, and artifacts helpful for debugging failures jobs: - template: xplat-pipeline-job.yml @@ -77,7 +78,7 @@ jobs: - IsInternal: --internal - ${{ if ne(parameters.osSubGroup, '_musl') }}: - HelixPreCommand: $(HelixPreCommandStemLinux);$(ExtraMSBuildLogsLinux) - - HelixPostCommand: 'export PYTHONPATH=$ORIGPYPATH' + - HelixPostCommand: 'export PYTHONPATH=$ORIGPYPATH;${{ parameters.collectHelixLogsScript }}' - IsInternal: --internal - group: DotNet-HelixApi-Access - group: dotnet-benchview diff --git a/eng/testing/performance/microbenchmarks.proj b/eng/testing/performance/microbenchmarks.proj index 82865062f49bc9..94f72d8a6a563b 100644 --- a/eng/testing/performance/microbenchmarks.proj +++ b/eng/testing/performance/microbenchmarks.proj @@ -41,7 +41,7 @@ - $(CliArguments) --wasm --dotnet-path %24HELIX_CORRELATION_PAYLOAD/dotnet-wasm/dotnet-workload/ + $(CliArguments) --run-isolated --wasm --dotnet-path %24HELIX_CORRELATION_PAYLOAD/dotnet-wasm/dotnet-workload/