diff --git a/.azure-pipelines/client.yml b/.azure-pipelines/client.yml new file mode 100644 index 000000000000..c36acb42a6fa --- /dev/null +++ b/.azure-pipelines/client.yml @@ -0,0 +1,65 @@ +trigger: +- psSdkJson6 + +#Variables: +# 'source.scope' list of projects to build (Ex: SDKs\KeyVault\dataPlane) +# 'build.useLatest' indicates whether or not to use build bootstrap files from the LTSBuildTools branch + +jobs: + - job: 'Build_and_Test' + + pool: + vmImage: 'vs2017-win2016' + + steps: + - script: | + set _VSWHERE="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" + for /f "usebackq tokens=*" %%i in (`%_VSWHERE% -latest -prerelease -property installationPath`) do set _VSCOMNTOOLS=%%i\Common7\Tools + echo "%_VSCOMNTOOLS%\VsDevCmd.bat" + call "%_VSCOMNTOOLS%\VsDevCmd.bat" + + sn -Vr *,31bf3856ad364e35 + displayName: 'Allow unsigned build tool' + + - task: MSBuild@1 + displayName: 'Init Build' + inputs: + solution: build.proj + msbuildArguments: '/t:Init /flp:LogFile=msbuild.Initlog;Verbosity=normal /p:UseLatest=$(build.useLatest)' + + - task: MSBuild@1 + displayName: 'Build assemblies and run tests' + inputs: + solution: build.proj + msbuildArguments: '/t:RunTests /p:Scope=$(source.scope) /p:Configuration=Release /clp:ShowTimestamp /flp:Summary;Verbosity=minimal;LogFile=FullBuild.sum /flp1:warningsonly;logfile=FullBuild.wrn /flp2:errorsonly;logfile=FullBuild.err /p:DebugTrace=$(system.debug) /p:CodeSign=false /p:AuthenticodeSign=false /p:RunGlobalReadinessTools=false /p:EnablePreBuildTarget=false /p:EnablePostBuildTarget=false' + + - task: MSBuild@1 + displayName: 'Build NuGet Packages' + inputs: + solution: build.proj + msbuildArguments: '/t:PackageNoBuild /p:Scope=$(source.scope) /p:Configuration=Release /flp:v=diag /flp:Summary;Verbosity=minimal;LogFile=PkgBuild.sum /flp1:warningsonly;logfile=PkgBuild.wrn /flp2:errorsonly;logfile=PkgBuild.err /p:DebugOutput=true /p:DebugTrace=$(system.debug)' + + - script: | + set _VSWHERE="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" + for /f "usebackq tokens=*" %%i in (`%_VSWHERE% -latest -prerelease -property installationPath`) do set _VSCOMNTOOLS=%%i\Common7\Tools + echo "%_VSCOMNTOOLS%\VsDevCmd.bat" + call "%_VSCOMNTOOLS%\VsDevCmd.bat" + + sn -Vl + sn -Vu *,31bf3856ad364e35 + displayName: 'Clean up unsigned build tool allowance' + condition: always() + + - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0 + displayName: 'Component Detection' + # ComponentGovernance is currently unable to run on pull requests of public projects. Running on + # scheduled builds should be good enough. + condition: and(succeeded(), eq(variables['Build.Reason'], 'Schedule')) + + - task: PublishBuildArtifacts@1 + displayName: 'Publish Artifacts' + inputs: + PathtoPublish: 'binaries\packages' + ArtifactName: packages + +