diff --git a/.vsts-dotnet.yml b/.vsts-dotnet.yml index cfa76d683ab..32ec1a3e52d 100644 --- a/.vsts-dotnet.yml +++ b/.vsts-dotnet.yml @@ -16,6 +16,10 @@ parameters: displayName: Optional OptProfDrop Override type: string default: 'default' +- name: EnableOptProf + displayName: Enable OptProf data collection for this build + type: boolean + default: true variables: # if OptProfDrop is not set, string '$(OptProfDrop)' will be passed to the build script. @@ -33,6 +37,10 @@ variables: value: ${{parameters.OptProfDropName}} - name: SourceBranch value: '' + # Override SkipApplyOptimizationData to true when disabling OptProf data collection + - ${{ if eq(parameters.EnableOptProf, false) }}: + - name: SkipApplyOptimizationData + value: true - name: EnableReleaseOneLocBuild value: true # Enable loc for vs17.14 - name: Codeql.Enabled @@ -164,6 +172,7 @@ extends: AccessToken: '$(System.AccessToken)' feedSource: 'https://devdiv.pkgs.visualstudio.com/DefaultCollection/_packaging/MicroBuildToolset/nuget/v3/index.json' displayName: 'Install OptProf Plugin' + condition: and(succeeded(), ${{ parameters.EnableOptProf }}) # Required by MicroBuildBuildVSBootstrapper - task: MicroBuildSwixPlugin@4 @@ -199,7 +208,7 @@ extends: toLowerCase: false usePat: true displayName: 'OptProf - Publish to Artifact Services - ProfilingInputs' - condition: succeeded() + condition: and(succeeded(), ${{ parameters.EnableOptProf }}) # Build VS bootstrapper # Generates $(Build.StagingDirectory)\MicroBuild\Output\BootstrapperInfo.json @@ -210,7 +219,7 @@ extends: manifests: $(VisualStudio.SetupManifestList) outputFolder: '$(Build.SourcesDirectory)\artifacts\VSSetup\$(BuildConfiguration)\Insertion' displayName: 'OptProf - Build VS bootstrapper' - condition: succeeded() + condition: and(succeeded(), ${{ parameters.EnableOptProf }}) # Publish run settings - task: PowerShell@2 @@ -222,7 +231,7 @@ extends: /p:BootstrapperInfoPath=$(Build.StagingDirectory)\MicroBuild\Output\BootstrapperInfo.json /p:VisualStudioIbcTrainingSettingsPath=$(Build.SourcesDirectory)\eng\config\OptProf.runsettings displayName: 'OptProf - Build IBC training settings' - condition: succeeded() + condition: and(succeeded(), ${{ parameters.EnableOptProf }}) # Publish bootstrapper info - task: 1ES.PublishBuildArtifacts@1 @@ -231,7 +240,7 @@ extends: ArtifactName: MicroBuildOutputs ArtifactType: Container displayName: 'OptProf - Publish Artifact: MicroBuildOutputs' - condition: succeeded() + condition: and(succeeded(), ${{ parameters.EnableOptProf }}) - task: 1ES.PublishBuildArtifacts@1 displayName: 'Publish Artifact: logs' @@ -293,7 +302,7 @@ extends: displayName: Tag build as ready for optimization training inputs: tags: 'ready-for-training' - condition: succeeded() + condition: and(succeeded(), ${{ parameters.EnableOptProf }}) - task: ms-vseng.MicroBuildTasks.521a94ea-9e68-468a-8167-6dcf361ea776.MicroBuildCleanup@1 displayName: Execute cleanup tasks diff --git a/eng/Versions.props b/eng/Versions.props index 672b97f5c20..4838e8caca1 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -2,7 +2,7 @@ - 17.14.15 + 17.14.16 release 17.13.9 15.1.0.0