From 9c1884c87fe96d69044ea31f58964ce2acacfc46 Mon Sep 17 00:00:00 2001 From: Rainer Sigwald Date: Thu, 2 Oct 2025 11:48:36 -0500 Subject: [PATCH 01/10] Always try to copy logs (#347) If the build fails, we still want to be able to see the logs! --- azure-pipelines.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 6e1123d..8901021 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -57,7 +57,7 @@ extends: displayName: 'Upload logs to drop' targetPath: '$(Build.ArtifactStagingDirectory)\logs' artifactName: logs - condition: succeededOrFailed() + condition: always() steps: - task: MicroBuildSigningPlugin@1 inputs: @@ -102,6 +102,7 @@ extends: - task: CopyFiles@2 displayName: 'Copy logs to drop' + condition: always() inputs: Contents: '**\*.*log' TargetFolder: '$(Build.ArtifactStagingDirectory)\logs' From ffd5ce7ad44277e4deae4e1e9528332a96529a4a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 2 Oct 2025 16:49:07 +0000 Subject: [PATCH 02/10] Bump Microsoft.NET.Test.Sdk from 17.12.0 to 18.0.0 (#348) --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/MSBuildLocator.Tests/Microsoft.Build.Locator.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MSBuildLocator.Tests/Microsoft.Build.Locator.Tests.csproj b/src/MSBuildLocator.Tests/Microsoft.Build.Locator.Tests.csproj index 05da439..8474d14 100644 --- a/src/MSBuildLocator.Tests/Microsoft.Build.Locator.Tests.csproj +++ b/src/MSBuildLocator.Tests/Microsoft.Build.Locator.Tests.csproj @@ -6,7 +6,7 @@ ..\MSBuildLocator\key.snk - + From 1d2f8780b24a01698a5cb81d13de464265d7ade7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 2 Oct 2025 16:52:49 +0000 Subject: [PATCH 03/10] Bump Nerdbank.GitVersioning from 3.7.115 to 3.8.118 (#350) --- updated-dependencies: - dependency-name: Nerdbank.GitVersioning dependency-version: 3.8.118 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Directory.Build.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Directory.Build.props b/Directory.Build.props index a58f4b5..d763f73 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -29,7 +29,7 @@ - + From a2620878e55ac49edb52b60220e03a29e841cff8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 2 Oct 2025 19:31:30 +0200 Subject: [PATCH 04/10] Bump xunit.runner.visualstudio from 3.0.1 to 3.1.5 (#351) --- updated-dependencies: - dependency-name: xunit.runner.visualstudio dependency-version: 3.1.5 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/MSBuildLocator.Tests/Microsoft.Build.Locator.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MSBuildLocator.Tests/Microsoft.Build.Locator.Tests.csproj b/src/MSBuildLocator.Tests/Microsoft.Build.Locator.Tests.csproj index 8474d14..701b235 100644 --- a/src/MSBuildLocator.Tests/Microsoft.Build.Locator.Tests.csproj +++ b/src/MSBuildLocator.Tests/Microsoft.Build.Locator.Tests.csproj @@ -9,7 +9,7 @@ - + From 2eaa8114b9d64032bffa3ac810c8c4c6e741954b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 2 Oct 2025 19:31:51 +0200 Subject: [PATCH 05/10] Bump Microsoft.VisualStudio.Setup.Configuration.Interop from 3.12.2149 to 3.14.2075 (#349) --- updated-dependencies: - dependency-name: Microsoft.VisualStudio.Setup.Configuration.Interop dependency-version: 3.14.2075 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/MSBuildLocator/Microsoft.Build.Locator.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MSBuildLocator/Microsoft.Build.Locator.csproj b/src/MSBuildLocator/Microsoft.Build.Locator.csproj index 7308e50..758800a 100644 --- a/src/MSBuildLocator/Microsoft.Build.Locator.csproj +++ b/src/MSBuildLocator/Microsoft.Build.Locator.csproj @@ -20,7 +20,7 @@ $(DefineConstants);FEATURE_VISUALSTUDIOSETUP - + From f5fdd94bee205fc767a0f1381790f9ffa9e77a18 Mon Sep 17 00:00:00 2001 From: YuliiaKovalova <95473390+YuliiaKovalova@users.noreply.github.com> Date: Fri, 3 Oct 2025 10:27:03 +0200 Subject: [PATCH 06/10] Update MicroBuildSigningPlugin version and parameters (#345) (#346) * Update MicroBuildSigningPlugin version and parameters * Update MicroBuild plugin configuration in pipeline --- azure-pipelines.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 8901021..56d3f47 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -59,10 +59,15 @@ extends: artifactName: logs condition: always() steps: - - task: MicroBuildSigningPlugin@1 + - task: MicroBuildSigningPlugin@4 + displayName: Install MicroBuild plugin inputs: - signType: '$(SignType)' + signType: 'real' zipSources: true + feedSource: https://devdiv.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json + ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea + env: + SYSTEM_ACCESSTOKEN: $(System.AccessToken) - task: MSBuild@1 displayName: '/t:Pack' @@ -108,4 +113,4 @@ extends: TargetFolder: '$(Build.ArtifactStagingDirectory)\logs' - task: ms-vseng.MicroBuildTasks.521a94ea-9e68-468a-8167-6dcf361ea776.MicroBuildCleanup@1 - displayName: 'Execute cleanup tasks' \ No newline at end of file + displayName: 'Execute cleanup tasks' From d438732d907f116926d4fa49a1e4e2f3c53972b4 Mon Sep 17 00:00:00 2001 From: YuliiaKovalova <95473390+YuliiaKovalova@users.noreply.github.com> Date: Tue, 7 Oct 2025 18:02:06 +0200 Subject: [PATCH 07/10] Add release pipeline configuration for MSBuild (#352) * Add release pipeline configuration for MSBuild * Remove unused variables from release pipeline Removed SymbolsEmailContacts and SymbolsUncPath variables. --- release-pipeline.yml | 86 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 release-pipeline.yml diff --git a/release-pipeline.yml b/release-pipeline.yml new file mode 100644 index 0000000..4f4bb25 --- /dev/null +++ b/release-pipeline.yml @@ -0,0 +1,86 @@ +trigger: none + +resources: + pipelines: + - pipeline: microsoft_MSBuildLocator + source: microsoft.MSBuildLocator + trigger: + enabled: false + +variables: + SymbolsAgentPath: '$(System.DefaultWorkingDirectory)\_$(Build.DefinitionName)\Symbols' + SymbolsFeatureName: 'MSBuild' + SymbolsProject: 'DDE' + TeamName: 'msbuild' + VstsDropNames: 'Products/DevDiv/Microsoft/msbuild/$(Build.SourceBranchName)/$(Build.BuildNumber)/$(Build.BuildId)' + +stages: +- stage: RetainBuild + displayName: 'Retain build' + jobs: + - job: RetainBuildJob + displayName: 'Run on agent' + pool: + name: 'VSEngSS-MicroBuild2022-1ES' + steps: + - task: MicroBuildArchiveSymbols@6 + displayName: 'Archive $(SymbolsFeatureName) on Symweb' + inputs: + SymbolsFeatureName: '$(SymbolsFeatureName)' + SymbolsProject: '$(SymbolsProject)' + SymbolsAgentPath: '$(SymbolsAgentPath)' + SubmitToInternet: true + ExpirationInDays: '5475' + azureSubscription: 'VSEng-SymbolsUpload' + env: + SYSTEM_ACCESSTOKEN: $(System.AccessToken) + + - task: MicroBuildRetainVstsDrops@1 + displayName: 'Retain VSTS Drops' + enabled: false + inputs: + DropNames: '$(VstsDropNames)' + DropServiceUri: 'https://devdiv.artifacts.visualstudio.com/DefaultCollection' + +- stage: PublicRelease + displayName: 'Public release' + dependsOn: RetainBuild + condition: succeeded() + jobs: + - job: PushToNuGet + displayName: 'Push to nuget.org' + pool: + name: 'VSEngSS-MicroBuild2022-1ES' + steps: + - task: NuGetCommand@2 + displayName: 'NuGet push' + inputs: + command: 'push' + packagesToPush: '$(Pipeline.Workspace)/microsoft_MSBuildLocator/pkg/Microsoft.Build.Locator*.nupkg' + nuGetFeedType: 'external' + publishFeedCredentials: 'MSBuild-Locator' + verbosityPush: 'Detailed' + + - job: PublicNuGetRelease + displayName: 'Public NuGet release' + dependsOn: PushToNuGet + pool: server + steps: + - task: ManualValidation@0 + displayName: 'Push packages to NuGet' + inputs: + instructions: | + https://microsoft.sharepoint.com/teams/toolsforeng/_layouts/OneNote.aspx?id=%2Fteams%2Ftoolsforeng%2FOne%20Note%2FToolsForSoftwareEngineers&wd=target%28Build%20Tools%2FMSBuild%2FGitHub.one%7CFF6DC598-65EC-43D5-AB29-DB38FEB82BC8%2FMyGet%20Feed%7CFAFC6258-899D-48D4-8DB4-892396202C9C%2F%29 + onenote:https://microsoft.sharepoint.com/teams/toolsforeng/One%20Note/ToolsForSoftwareEngineers/Build%20Tools/MSBuild/GitHub.one#MyGet%20Feed§ion-id={FF6DC598-65EC-43D5-AB29-DB38FEB82BC8}&page-id={FAFC6258-89 + onTimeout: 'reject' + + - job: GitHubRelease + displayName: 'GitHub release' + dependsOn: PublicNuGetRelease + pool: server + steps: + - task: ManualValidation@0 + displayName: 'Create GitHub release' + inputs: + instructions: 'Create the GitHub release manually' + onTimeout: 'reject' From e3d4d0d7506471cf97f5facf390887d8033c21a8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Nov 2025 10:21:11 +0100 Subject: [PATCH 08/10] Bump Nerdbank.GitVersioning from 3.8.118 to 3.9.50 (#355) --- updated-dependencies: - dependency-name: Nerdbank.GitVersioning dependency-version: 3.9.50 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Directory.Build.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Directory.Build.props b/Directory.Build.props index d763f73..820c5d4 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -29,7 +29,7 @@ - + From 46a3b93bbfdafda0321688c85c7a72d2e38dc826 Mon Sep 17 00:00:00 2001 From: Rainer Sigwald Date: Thu, 6 Nov 2025 03:22:12 -0600 Subject: [PATCH 09/10] Add StringTools to do-not-deploy list (#354) * Add StringTools to do-not-deploy list An internal tool recently had trouble updating to .NET 10 because it deployed a stale local copy of `Microsoft.NET.StringTools.dll` that was working (by coincidence) throughout .NET 9 but failed after dotnet/msbuild#12100 added some API surface to StringTools and used it. * Add nuget dependency as well --------- Co-authored-by: Chet Husk --- src/MSBuildLocator/build/Microsoft.Build.Locator.targets | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/MSBuildLocator/build/Microsoft.Build.Locator.targets b/src/MSBuildLocator/build/Microsoft.Build.Locator.targets index a117f13..35d55c3 100644 --- a/src/MSBuildLocator/build/Microsoft.Build.Locator.targets +++ b/src/MSBuildLocator/build/Microsoft.Build.Locator.targets @@ -13,7 +13,9 @@ '%(PackageReference.Identity)' == 'Microsoft.Build.Conversion.Core' or '%(PackageReference.Identity)' == 'Microsoft.Build.Runtime' or '%(PackageReference.Identity)' == 'Microsoft.Build.Localization' or - '%(PackageReference.Identity)' == 'Microsoft.Build.Engine' + '%(PackageReference.Identity)' == 'Microsoft.Build.Engine' or + '%(PackageReference.Identity)' == 'Microsoft.NET.StringTools' or + '%(PackageReference.Identity)' == 'NuGet.Frameworks' )"/> Date: Thu, 6 Nov 2025 16:58:24 +0100 Subject: [PATCH 10/10] Update MicroBuildSigningPlugin version and parameters (#345) (#356) * Update MicroBuildSigningPlugin version and parameters * Update MicroBuild plugin configuration in pipeline