Skip to content

Configure OptProf v2 pipeline#8085

Merged
rainersigwald merged 7 commits intodotnet:mainfrom
AR-May:add-opt-prof-v2-pipeline
Nov 2, 2022
Merged

Configure OptProf v2 pipeline#8085
rainersigwald merged 7 commits intodotnet:mainfrom
AR-May:add-opt-prof-v2-pipeline

Conversation

@AR-May
Copy link
Copy Markdown
Member

@AR-May AR-May commented Oct 24, 2022

Context

Configure the new pipeline for optimization data collection.

Changes Made

  • Added the new .yml file for the OptProf v2 pipeline.
  • The .runsettings file was updated by using the custom template in the run settings generation task (instead using the default one). The default template used by the task is located here. I took it and updated with the VisualStudioConfiguration element. This element derived from value VSINSTALLATIONTYPE = optprof from the legacy OptProf pipeline.

Testing

  • Pipeline test runs
  • Experimental VS insertion

Copy link
Copy Markdown
Member

@rainersigwald rainersigwald left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have perf DDRITs on a build that consumed the output of one of these collections yet? Doesn't have to block this but will be a nice end-to-end.

<RunSettings>
<RunConfiguration>
<ResultsDirectory>C:\Test\Results</ResultsDirectory>
<TargetPlatform>X86</TargetPlatform>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this some legacy "says X86 but doesn't really mean that" type thing?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it is some legacy. We currently use this default template from dotnet/arcade. So, this line came from there. Maybe it makes sense to ask them about it.

ref: refs/heads/main

stages:
- template: \templates\stages\visual-studio\single-runsettings.yml@DartLabOptProfTemplates
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where does this file physically live? It's not in our repo, right?

Copy link
Copy Markdown
Member Author

@AR-May AR-May Oct 25, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Few lines above the git azure repo DartLabOptProfTemplates is defined. It lives there.

Comment on lines +60 to +63
$bootstrapperInfoJson = Get-Content -Raw -Path '$(Pipeline.Workspace)\ComponentBuildUnderTest\MicroBuildOutputs\BootstrapperInfo.json' | ConvertFrom-Json
$vsBranch = $bootstrapperInfoJson[0].VSBranch
Write-Host "VSBootstrapperBranch: $vsBranch"
Set-AzurePipelinesVariable 'VSBootstrapperBranch' $vsBranch
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question, not at all a blocker for this PR: should we tie the branch to our branchname rather than the checked-into-our-repo VS branch reference? That might reduce effort when finalizing a release, since we often forget to update that checked-in branch name.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I took this part of code from the previous pipeline, so it is how it currently works. But we could think about improving this later.

Comment on lines +65 to +88
<Components All="false">
<Include ID="Microsoft.VisualStudio.Component.VC.CLI.Support" />
<Include ID="Microsoft.VisualStudio.Component.Windows81SDK" />
<Include ID="Microsoft.VisualStudio.ComponentGroup.UWP.VC" />
<Include ID="Microsoft.VisualStudio.Component.VC.ATLMFC" />
<Include ID="Microsoft.VisualStudio.Component.Windows10SDK.15063.Desktop" />
<Include ID="Microsoft.VisualStudio.Component.Windows10SDK.16299" />
<Include ID="Microsoft.VisualStudio.Component.Windows10SDK.16299.UWP" />
<Include ID="Microsoft.Net.ComponentGroup.4.7.2.DeveloperTools" />
<Exclude ID="Component.Incredibuild" />
<Exclude ID="Component.JavaJDK" />
<Exclude ID="Microsoft.VisualStudio.Component.AspNet45" />
</Components>
<Workloads All="false" IncludeComponents="Required,Recommended">
<Include ID="Microsoft.VisualStudio.Workload.CoreEditor" IncludeComponents="Required" />
<Include ID="Microsoft.VisualStudio.Workload.ManagedDesktop" IncludeComponents="Required" />
<Include ID="Microsoft.VisualStudio.Workload.NativeCrossPlat" IncludeComponents="Required" />
<Include ID="Microsoft.VisualStudio.Workload.NativeDesktop" IncludeComponents="Required" />
<Include ID="Microsoft.VisualStudio.Workload.NetWeb" IncludeComponents="Required" />
<Include ID="Microsoft.VisualStudio.Workload.Office" IncludeComponents="Required" />
<Include ID="Microsoft.VisualStudio.Workload.Universal" IncludeComponents="Required" />
<Include ID="Microsoft.VisualStudio.Workload.VisualStudioExtension" IncludeComponents="Required" />
<Include ID="Microsoft.VisualStudio.Workload.Webcrossplat" IncludeComponents="Required" />
</Workloads>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these specific to us? How were they derived?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, here is the instruction.

Copy link
Copy Markdown
Member

@rokonec rokonec left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please try to update test runs runtime to x64 4.7.2. If it does not work keep current settings and create issue to investigate why it was failing.

@AR-May
Copy link
Copy Markdown
Member Author

AR-May commented Oct 26, 2022

Do we have perf DDRITs on a build that consumed the output of one of these collections yet? Doesn't have to block this but will be a nice end-to-end.

Yes, we do have end-to-end with VS insertion. All works.

@AR-May
Copy link
Copy Markdown
Member Author

AR-May commented Oct 31, 2022

Please try to update test runs runtime to x64 4.7.2. If it does not work keep current settings and create issue to investigate why it was failing.

It is failing. Let's merge as is and I will create an issue to dig into the reason.

@AR-May AR-May added the merge-when-branch-open PRs that are approved, except that there is a problem that means we are not merging stuff right now. label Oct 31, 2022
@rainersigwald rainersigwald merged commit 99e2efb into dotnet:main Nov 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-when-branch-open PRs that are approved, except that there is a problem that means we are not merging stuff right now.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants