From edb10dbbb433b3328838b326d8ad2a418c2d5c04 Mon Sep 17 00:00:00 2001 From: Brad White <4261702+bradselw@users.noreply.github.com> Date: Thu, 20 Nov 2025 16:50:29 -0700 Subject: [PATCH 1/3] Add integration test pipeline configuration --- eng/pipelines/test-integration-stage.yml | 66 ++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 eng/pipelines/test-integration-stage.yml diff --git a/eng/pipelines/test-integration-stage.yml b/eng/pipelines/test-integration-stage.yml new file mode 100644 index 0000000000000..0f27970c5c648 --- /dev/null +++ b/eng/pipelines/test-integration-stage.yml @@ -0,0 +1,66 @@ +parameters: +- name: name + type: string +- name: displayName + type: string + +# Set to 'stop' if you want to keep the test machines around for investigation after test completion. +- name: testMachineCleanUpStrategy + displayName: Test Machine Clean Up Strategy + type: string + default: delete + values: + - delete + - stop +# The retention period for the test machine (expressed as :::) +- name: testMachineRetention + displayName: Test Machine Retention (format "D:H:M:S") + type: string + default: 1:0:0:0 # 1 day default + +stages: +- template: \stages\visual-studio\agent.yml@DartLabTemplates + parameters: + name: ${{parameters.name}} + displayName: ${{parameters.displayName}} + testLabPoolName: VS-Platform + testMachineCleanUpStrategy: ${{parameters.testMachineCleanUpStrategy}} + testMachineRetention: ${{parameters.testMachineRetention}} + visualStudioBootstrapperURI: https://vsdrop.corp.microsoft.com/file/v1/$(VisualStudio.BuildUnderTest.ProductsDropName);bootstrappers/Enterprise/vs_enterprise.exe + visualStudioInstallationParameters: --add Microsoft.VisualStudio.Component.NuGet --add Microsoft.VisualStudio.Component.Roslyn.Compiler --add Microsoft.Component.MSBuild --add Microsoft.NetCore.Component.Runtime.6.0 --add Microsoft.NetCore.Component.SDK --add Microsoft.Net.Component.4.7.2.TargetingPack --add Microsoft.VisualStudio.Component.Roslyn.LanguageServices --add Microsoft.VisualStudio.Component.FSharp --add Microsoft.ComponentGroup.ClickOnce.Publish --add Microsoft.NetCore.Component.DevelopmentTools --add Microsoft.VisualStudio.Component.MSODBC.SQL --add Microsoft.VisualStudio.Component.MSSQL.CMDLnUtils --add Microsoft.VisualStudio.Component.SQL.LocalDB.Runtime --add Microsoft.VisualStudio.Component.SQL.CLR --add Microsoft.VisualStudio.Component.CoreEditor --add Microsoft.VisualStudio.Workload.CoreEditor --add Microsoft.Net.Component.4.8.SDK --add Microsoft.Net.ComponentGroup.DevelopmentPrerequisites --add Microsoft.VisualStudio.Component.TypeScript.TSServer --add Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions --add Microsoft.VisualStudio.Component.JavaScript.TypeScript --add Microsoft.VisualStudio.Component.JavaScript.Diagnostics --add Microsoft.VisualStudio.Component.TextTemplating --add Component.Microsoft.VisualStudio.RazorExtension --add Microsoft.VisualStudio.Component.IISExpress --add Microsoft.VisualStudio.Component.Common.Azure.Tools --add Microsoft.Component.ClickOnce --add Microsoft.VisualStudio.Component.ManagedDesktop.Core --add Microsoft.VisualStudio.Component.SQL.SSDT --add Microsoft.VisualStudio.Component.SQL.DataSources --add Component.Microsoft.Web.LibraryManager --add Component.Microsoft.WebTools.BrowserLink.WebLivePreview --add Microsoft.VisualStudio.ComponentGroup.Web --add Microsoft.VisualStudio.Component.FSharp.WebTemplates --add Microsoft.VisualStudio.Component.DockerTools --add Microsoft.NetCore.Component.Web --add Microsoft.VisualStudio.Component.WebDeploy --add Microsoft.VisualStudio.Component.AppInsights.Tools --add Microsoft.VisualStudio.Component.Web --add Microsoft.Net.Component.4.8.TargetingPack --add Microsoft.Net.ComponentGroup.4.8.DeveloperTools --add Microsoft.VisualStudio.Component.AspNet45 --add Microsoft.VisualStudio.Component.AspNet --add Component.Microsoft.VisualStudio.Web.AzureFunctions --add Microsoft.VisualStudio.ComponentGroup.AzureFunctions --add Microsoft.VisualStudio.Component.Debugger.Snapshot --add Microsoft.VisualStudio.ComponentGroup.Web.CloudTools --add Microsoft.VisualStudio.Component.IntelliTrace.FrontEnd --add Microsoft.VisualStudio.Component.DiagnosticTools --add Microsoft.VisualStudio.Component.EntityFramework --add Microsoft.VisualStudio.Component.LiveUnitTesting --add Microsoft.VisualStudio.Component.Debugger.JustInTime --add Component.Microsoft.VisualStudio.LiveShare.2022 --add Microsoft.VisualStudio.Component.WslDebugging --add Microsoft.VisualStudio.Component.IntelliCode --add Microsoft.VisualStudio.Workload.NetWeb --add Microsoft.VisualStudio.Component.ManagedDesktop.Prerequisites --add Microsoft.ComponentGroup.Blend --add Microsoft.VisualStudio.Component.DotNetModelBuilder --add Microsoft.VisualStudio.Component.FSharp.Desktop --add Microsoft.VisualStudio.Component.PortableLibrary --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.Net.Component.4.6.TargetingPack --add Microsoft.VisualStudio.Component.VSSDK --add Microsoft.VisualStudio.ComponentGroup.VisualStudioExtension.Prerequisites --add Microsoft.Component.CodeAnalysis.SDK --add Microsoft.VisualStudio.Workload.VisualStudioExtension --installPath "C:\Test\VisualStudio" --quiet --norestart --wait + testExecutionJobStrategy: + maxParallel: 4 + matrix: + debug_32: + _configuration: Debug + _oop64bit: false + debug_64: + _configuration: Debug + _oop64bit: true + release_32: + _configuration: Release + _oop64bit: false + release_64: + _configuration: Release + _oop64bit: true + testMachineTotalCount: 4 + testAgentElevated: true + preTestMachineConfigurationStepList: + - checkout: none + - download: VisualStudioBuildUnderTest + - task: PowerShell@2 + name: SetProductsDropName + displayName: Set 'VisualStudio.BuildUnderTest.ProductsDropName' + inputs: + filePath: $(DartLab.Path)\Scripts\VisualStudio\Build\Get-VisualStudioDropName.ps1 + arguments: -DropNamePrefix 'Products' -VstsDropUrlsJson '$(Pipeline.Workspace)\VisualStudioBuildUnderTest\BuildArtifacts\VstsDropUrls.json' -OutVariableName 'VisualStudio.BuildUnderTest.ProductsDropName' + deployAndRunTestsStepList: + - checkout: RoslynMirror + fetchDepth: 1 + fetchTags: false + - template: eng/pipelines/test-integration-job.yml + parameters: + configuration: $(_configuration) + oop64bit: $(_oop64bit) + lspEditor: false + skipCheckout: true From ec67bbfe0b2583f286ce76117bdcec75b481b147 Mon Sep 17 00:00:00 2001 From: Brad White <4261702+bradselw@users.noreply.github.com> Date: Thu, 20 Nov 2025 16:52:58 -0700 Subject: [PATCH 2/3] Updated azure-pipelines-integration-dartlab --- azure-pipelines-integration-dartlab.yml | 41 +------------------------ 1 file changed, 1 insertion(+), 40 deletions(-) diff --git a/azure-pipelines-integration-dartlab.yml b/azure-pipelines-integration-dartlab.yml index fd6ca52aee9a0..4a9f73f8437b3 100644 --- a/azure-pipelines-integration-dartlab.yml +++ b/azure-pipelines-integration-dartlab.yml @@ -54,48 +54,9 @@ variables: value: true stages: -- template: \stages\visual-studio\agent.yml@DartLabTemplates +- template: /eng/pipelines/test-integration-stage.yml@self parameters: name: VSIntegration displayName: VS Integration - testLabPoolName: VS-Platform testMachineCleanUpStrategy: ${{parameters.testMachineCleanUpStrategy}} testMachineRetention: ${{parameters.testMachineRetention}} - visualStudioBootstrapperURI: https://vsdrop.corp.microsoft.com/file/v1/$(VisualStudio.BuildUnderTest.ProductsDropName);bootstrappers/Enterprise/vs_enterprise.exe - visualStudioInstallationParameters: --add Microsoft.VisualStudio.Component.NuGet --add Microsoft.VisualStudio.Component.Roslyn.Compiler --add Microsoft.Component.MSBuild --add Microsoft.NetCore.Component.Runtime.6.0 --add Microsoft.NetCore.Component.SDK --add Microsoft.Net.Component.4.7.2.TargetingPack --add Microsoft.VisualStudio.Component.Roslyn.LanguageServices --add Microsoft.VisualStudio.Component.FSharp --add Microsoft.ComponentGroup.ClickOnce.Publish --add Microsoft.NetCore.Component.DevelopmentTools --add Microsoft.VisualStudio.Component.MSODBC.SQL --add Microsoft.VisualStudio.Component.MSSQL.CMDLnUtils --add Microsoft.VisualStudio.Component.SQL.LocalDB.Runtime --add Microsoft.VisualStudio.Component.SQL.CLR --add Microsoft.VisualStudio.Component.CoreEditor --add Microsoft.VisualStudio.Workload.CoreEditor --add Microsoft.Net.Component.4.8.SDK --add Microsoft.Net.ComponentGroup.DevelopmentPrerequisites --add Microsoft.VisualStudio.Component.TypeScript.TSServer --add Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions --add Microsoft.VisualStudio.Component.JavaScript.TypeScript --add Microsoft.VisualStudio.Component.JavaScript.Diagnostics --add Microsoft.VisualStudio.Component.TextTemplating --add Component.Microsoft.VisualStudio.RazorExtension --add Microsoft.VisualStudio.Component.IISExpress --add Microsoft.VisualStudio.Component.Common.Azure.Tools --add Microsoft.Component.ClickOnce --add Microsoft.VisualStudio.Component.ManagedDesktop.Core --add Microsoft.VisualStudio.Component.SQL.SSDT --add Microsoft.VisualStudio.Component.SQL.DataSources --add Component.Microsoft.Web.LibraryManager --add Component.Microsoft.WebTools.BrowserLink.WebLivePreview --add Microsoft.VisualStudio.ComponentGroup.Web --add Microsoft.VisualStudio.Component.FSharp.WebTemplates --add Microsoft.VisualStudio.Component.DockerTools --add Microsoft.NetCore.Component.Web --add Microsoft.VisualStudio.Component.WebDeploy --add Microsoft.VisualStudio.Component.AppInsights.Tools --add Microsoft.VisualStudio.Component.Web --add Microsoft.Net.Component.4.8.TargetingPack --add Microsoft.Net.ComponentGroup.4.8.DeveloperTools --add Microsoft.VisualStudio.Component.AspNet45 --add Microsoft.VisualStudio.Component.AspNet --add Component.Microsoft.VisualStudio.Web.AzureFunctions --add Microsoft.VisualStudio.ComponentGroup.AzureFunctions --add Microsoft.VisualStudio.Component.Debugger.Snapshot --add Microsoft.VisualStudio.ComponentGroup.Web.CloudTools --add Microsoft.VisualStudio.Component.IntelliTrace.FrontEnd --add Microsoft.VisualStudio.Component.DiagnosticTools --add Microsoft.VisualStudio.Component.EntityFramework --add Microsoft.VisualStudio.Component.LiveUnitTesting --add Microsoft.VisualStudio.Component.Debugger.JustInTime --add Component.Microsoft.VisualStudio.LiveShare.2022 --add Microsoft.VisualStudio.Component.WslDebugging --add Microsoft.VisualStudio.Component.IntelliCode --add Microsoft.VisualStudio.Workload.NetWeb --add Microsoft.VisualStudio.Component.ManagedDesktop.Prerequisites --add Microsoft.ComponentGroup.Blend --add Microsoft.VisualStudio.Component.DotNetModelBuilder --add Microsoft.VisualStudio.Component.FSharp.Desktop --add Microsoft.VisualStudio.Component.PortableLibrary --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.Net.Component.4.6.TargetingPack --add Microsoft.VisualStudio.Component.VSSDK --add Microsoft.VisualStudio.ComponentGroup.VisualStudioExtension.Prerequisites --add Microsoft.Component.CodeAnalysis.SDK --add Microsoft.VisualStudio.Workload.VisualStudioExtension --installPath "C:\Test\VisualStudio" --quiet --norestart --wait - testExecutionJobStrategy: - maxParallel: 4 - matrix: - debug_32: - _configuration: Debug - _oop64bit: false - debug_64: - _configuration: Debug - _oop64bit: true - release_32: - _configuration: Release - _oop64bit: false - release_64: - _configuration: Release - _oop64bit: true - testMachineTotalCount: 4 - testAgentElevated: true - preTestMachineConfigurationStepList: - - checkout: none - - download: VisualStudioBuildUnderTest - - task: PowerShell@2 - name: SetProductsDropName - displayName: Set 'VisualStudio.BuildUnderTest.ProductsDropName' - inputs: - filePath: $(DartLab.Path)\Scripts\VisualStudio\Build\Get-VisualStudioDropName.ps1 - arguments: -DropNamePrefix 'Products' -VstsDropUrlsJson '$(Pipeline.Workspace)\VisualStudioBuildUnderTest\BuildArtifacts\VstsDropUrls.json' -OutVariableName 'VisualStudio.BuildUnderTest.ProductsDropName' - deployAndRunTestsStepList: - - checkout: RoslynMirror - fetchDepth: 1 - fetchTags: false - - template: eng/pipelines/test-integration-job.yml - parameters: - configuration: $(_configuration) - oop64bit: $(_oop64bit) - lspEditor: false - skipCheckout: true From 5137122980b79af205d685cbccec3fd782bd24b0 Mon Sep 17 00:00:00 2001 From: Brad White <4261702+bradselw@users.noreply.github.com> Date: Fri, 21 Nov 2025 15:53:08 -0700 Subject: [PATCH 3/3] Update template path in test integration pipeline --- eng/pipelines/test-integration-stage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/test-integration-stage.yml b/eng/pipelines/test-integration-stage.yml index 0f27970c5c648..2960a02e1d72b 100644 --- a/eng/pipelines/test-integration-stage.yml +++ b/eng/pipelines/test-integration-stage.yml @@ -58,7 +58,7 @@ stages: - checkout: RoslynMirror fetchDepth: 1 fetchTags: false - - template: eng/pipelines/test-integration-job.yml + - template: test-integration-job.yml parameters: configuration: $(_configuration) oop64bit: $(_oop64bit)