From 4958579a4438e5564ac6511699732397b70f574e Mon Sep 17 00:00:00 2001 From: Wes Haggard Date: Tue, 18 Jun 2019 14:56:01 -0700 Subject: [PATCH] Update mgmt yml file Update mgmt yml file to be closer to client yml file still needs to be separate until we can get the mgmt tooling to work with dotnet pack/test commands. Added eng/mgmt.proj which builds all mangment libraries. Updated root build.proj to include both mgmt and client libraries. Remove init step from old mgmt.yml as it is needed any longer Add scope path validation Add support for publishing property --- .azure-pipelines/mgmt.yml | 17 ++--- build.proj | 12 +++- eng/data-plane.proj | 13 ---- eng/mgmt.proj | 11 +++ eng/pipelines/mgmt.yml | 10 +++ .../templates/jobs/archetype-sdk-mgmt.yml | 67 +++++++++++++++++++ eng/service.proj | 2 +- 7 files changed, 102 insertions(+), 30 deletions(-) delete mode 100644 eng/data-plane.proj create mode 100644 eng/mgmt.proj create mode 100644 eng/pipelines/mgmt.yml create mode 100644 eng/pipelines/templates/jobs/archetype-sdk-mgmt.yml diff --git a/.azure-pipelines/mgmt.yml b/.azure-pipelines/mgmt.yml index 2f3b2aeb084dd..a505a6a2a660c 100644 --- a/.azure-pipelines/mgmt.yml +++ b/.azure-pipelines/mgmt.yml @@ -18,16 +18,6 @@ jobs: LoggingArgs: '/v:m /clp:ShowtimeStamp /flp:LogFile=msbuild.normal;Verbosity=normal /flp1:Summary;Verbosity=minimal;LogFile=msbuild.sum /flp2:warningsonly;logfile=msbuild.wrn /flp3:errorsonly;logfile=msbuild.err' steps: - # - task: CmdLine@1 - # inputs: - # filename: C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\sn.exe - # arguments: -Vr *,31bf3856ad364e35 - # displayName: 'Disable strong name verification' - - - task: MSBuild@1 - inputs: - solution: build.proj - displayName: 'Install build tools' - task: MSBuild@1 inputs: solution: build.proj @@ -44,13 +34,13 @@ jobs: - job: Ubuntu_Build pool: vmImage: 'ubuntu-16.04' - + steps: - task: DotNetCoreInstaller@0 displayName: 'Use .NET Core sdk $(DotNetCoreVersion)' inputs: version: '$(DotNetCoreVersion)' - + - script: dotnet msbuild build.proj /t:RunTests $(LoggingArgs) displayName: 'Ubuntu Build and Run tests' - task: PublishTestResults@2 @@ -59,4 +49,5 @@ jobs: testResultsFiles: '**/*.trx' testRunTitle: 'Ubuntu Test Results' testResultsFormat: 'VSTest' - mergeTestResults: true \ No newline at end of file + mergeTestResults: true + diff --git a/build.proj b/build.proj index 6bb2110c2b852..0afe53d39ae5f 100644 --- a/build.proj +++ b/build.proj @@ -1,4 +1,10 @@ - - - + + + + Scope=$(Scope) + + + Scope=$(Scope) + + \ No newline at end of file diff --git a/eng/data-plane.proj b/eng/data-plane.proj deleted file mode 100644 index 5a12518a61282..0000000000000 --- a/eng/data-plane.proj +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/eng/mgmt.proj b/eng/mgmt.proj new file mode 100644 index 0000000000000..1036a6c12c7de --- /dev/null +++ b/eng/mgmt.proj @@ -0,0 +1,11 @@ + + + + + + + ..\sdk\$(Scope) + + + + \ No newline at end of file diff --git a/eng/pipelines/mgmt.yml b/eng/pipelines/mgmt.yml new file mode 100644 index 0000000000000..7708ae1be2331 --- /dev/null +++ b/eng/pipelines/mgmt.yml @@ -0,0 +1,10 @@ +# DO NOT EDIT THIS FILE +# This file is generated automatically and any changes will be lost. + +trigger: none +pr: none + +jobs: +- template: templates/jobs/archetype-sdk-mgmt.yml + parameters: + Scope: $(Scope) diff --git a/eng/pipelines/templates/jobs/archetype-sdk-mgmt.yml b/eng/pipelines/templates/jobs/archetype-sdk-mgmt.yml new file mode 100644 index 0000000000000..a8749edde7d3e --- /dev/null +++ b/eng/pipelines/templates/jobs/archetype-sdk-mgmt.yml @@ -0,0 +1,67 @@ +jobs: + - job: Build + variables: + DotNetCoreSDKVersion: '2.2.202' + skipComponentGovernanceDetection: true + pool: + vmImage: windows-2019 + steps: + - task: DotNetCoreInstaller@0 + displayName: 'Use .NET Core sdk $(DotNetCoreSDKVersion)' + inputs: + version: '$(DotNetCoreSDKVersion)' + - script: dotnet msbuild eng/mgmt.proj /t:CreateNugetPackage /p:PackageOutputPath=$(Build.ArtifactStagingDirectory) /p:Scope=${{parameters.Scope}} /p:ForPublishing=$(ShouldPublish) + displayName: "Build & Package" + env: + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 + DOTNET_CLI_TELEMETRY_OPTOUT: 1 + DOTNET_MULTILEVEL_LOOKUP: 0 + - task: PublishPipelineArtifact@0 + condition: succeededOrFailed() + inputs: + artifactName: packages + targetPath: $(Build.ArtifactStagingDirectory) + - powershell: | + $releaseTag = "FOR_SIGNING" + if ("$(ShouldPublish)" -eq "true") { $releaseTag = "FOR_PUBLISHING" } + echo "Tagging build with $releaseTag" + echo "##vso[build.addbuildtag]$releaseTag" + displayName: 'Tagging the build' + + - job: Test + variables: + DotNetCoreSDKVersion: '2.2.202' + skipComponentGovernanceDetection: true + strategy: + maxParallel: $[ variables['MaxParallelTestJobs'] ] + matrix: + Linux: + OSName: "Linux" + OSVmImage: "ubuntu-16.04" + Windows: + OSName: "Windows" + OSVmImage: "windows-2019" + MacOs: + OSName: "MacOS" + OSVmImage: "macOS-10.13" + pool: + vmImage: "$(OSVmImage)" + steps: + - task: DotNetCoreInstaller@0 + + displayName: 'Use .NET Core sdk $(DotNetCoreSDKVersion)' + inputs: + version: '$(DotNetCoreSDKVersion)' + - script: dotnet msbuild eng/mgmt.proj /t:RunTests /p:Scope=${{parameters.Scope}} /p:ForPublishing=$(ShouldPublish) + displayName: "Build & Test" + env: + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 + DOTNET_CLI_TELEMETRY_OPTOUT: 1 + DOTNET_MULTILEVEL_LOOKUP: 0 + - task: PublishTestResults@2 + condition: succeededOrFailed() + inputs: + testResultsFiles: "**/*.trx" + testRunTitle: "$(OSName) Test Results" + testResultsFormat: "VSTest" + mergeTestResults: true diff --git a/eng/service.proj b/eng/service.proj index 2716d2a06d867..6248259f2d303 100644 --- a/eng/service.proj +++ b/eng/service.proj @@ -4,7 +4,7 @@ - +