diff --git a/Directory.Build.props b/Directory.Build.props index a58f4b5..820c5d4 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -29,7 +29,7 @@ - + diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 6e1123d..56d3f47 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -57,12 +57,17 @@ extends: displayName: 'Upload logs to drop' targetPath: '$(Build.ArtifactStagingDirectory)\logs' artifactName: logs - condition: succeededOrFailed() + 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' @@ -102,9 +107,10 @@ extends: - task: CopyFiles@2 displayName: 'Copy logs to drop' + condition: always() inputs: Contents: '**\*.*log' 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' 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' diff --git a/src/MSBuildLocator.Tests/Microsoft.Build.Locator.Tests.csproj b/src/MSBuildLocator.Tests/Microsoft.Build.Locator.Tests.csproj index 05da439..701b235 100644 --- a/src/MSBuildLocator.Tests/Microsoft.Build.Locator.Tests.csproj +++ b/src/MSBuildLocator.Tests/Microsoft.Build.Locator.Tests.csproj @@ -6,10 +6,10 @@ ..\MSBuildLocator\key.snk - + - + 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 - + 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' )"/>