-
Notifications
You must be signed in to change notification settings - Fork 696
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DartLab B2B feature] dropname for base VS should be retrieved using the baseline. #5283
Conversation
candidateBaselineBuilds: $(BaselineBuildCommitIds) | ||
visualStudioBootstrapperURI: $(bootstrapperUrl) | ||
visualStudioInstallationParameters: $(VisualStudio.InstallationUnderTest.SetupParameters) | ||
testLabPoolName: VS-Platform | ||
dartLabEnvironment: ${{parameters.DartLabEnvironment}} | ||
visualStudioSigning: Test | ||
testMachineConfigurationJobTimeoutInMinutes: 30 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this timeout setting required?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, because of the additional tasks, it will take ~1-2 minutes extra. But occasionally Azure DevOps might be slow, that's why I have set timeout to 30
Apex tests on Windows failed because of Azure DevOps issue which is not related to the changes in this PR. |
- task: PowerShell@2 | ||
name: SetVisualStudioBaseBuildID | ||
displayName: Set 'VisualStudio.BaseBuild.ID' | ||
retryCountOnTaskFailure: 3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
checked with @vishavpandhi offline. This parameter only enables retries for the following steps. Apex/End to end tests will not be rerun upon failure.
- Get Baseline build commit ids
- Set 'VisualStudio.BaseBuild.ID'
- Set 'VisualStudio.BaseBuild.ProductsDropName
- Set 'VisualStudio.BaseBuild.ProductsDropName' to drop from target build
candidateBaselineBuilds: $(BaselineBuildCommitIds) | ||
testLabPoolName: VS-Platform | ||
dartLabEnvironment: ${{parameters.DartLabEnvironment}} | ||
visualStudioSigning: Test | ||
testMachineConfigurationJobTimeoutInMinutes: 30 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Related to timeout https://github.com/NuGet/NuGet.Client/pull/5283/files#r1253811132
targetType: 'inline' | ||
script: | | ||
$buildDrop = "${{parameters.baseBuildDrop}}" -split "/" | ||
$dropName = "Products/DevDiv/VS/$($buildDrop[-2])/$($buildDrop[-1])" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If my understanding is correct, if there is format in the build drop URL then we should tweak these indexes, correct? Do you anticipate any changes to the build drop in the near future?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
these changes can be breaking changes, so they aren't generally made.
Why did only 1 of the 3 dartlab jobs get the benefit? They're all requesting the same build of VS. |
For the remaining 2 jobs, DartLab was unable to find a machine in the pool hence it ended up creating a machine for these runs. The following logs also suggest that Visual Studio was upgraded instead of installing from scratch (Deploying artifact 1/3: Upgrade Visual Studio Under Test). The time it took creates the machine caused delay in completing the deploy machine job. Whereas in the best-case scenario, as shown in the screenshot, DartLab found a machine in the pool and hence the job took less time.
|
Bug
Fixes: https://github.com/NuGet/Client.Engineering/issues/2380
Regression? Last working version: N/A
Description
@kartheekp-ms noticed that B2B upgrade is disabled in almost 4 PR build logs. When B2B is disabled, DartLab installs VS from scratch instead of upgrading. To enable B2B upgrade, the base VS drop name needs to be retrieved from the baseline. Otherwise, if the base and target VS use the same drop, their versions will be identical, resulting in the disabling B2B upgrade.
PR Checklist
PR has a meaningful title
PR has a linked issue.
Described changes
Tests
Documentation