parameters: # Needed because agent pool can't be read from a user-defined variable (Azure DevOps limitation) # Defaults to dotnet-external-temp-vs2019 agentPool: dotnet-external-temp-vs2019 # Needed because runAsPublic is used in template expressions, which can't read from user-defined variables # Defaults to true runAsPublic: true jobs: - template: /eng/common/templates/jobs/jobs.yml parameters: enableMicrobuild: true enablePublishBuildArtifacts: true enablePublishTestResults: true enablePublishBuildAssets: true enableTelemetry: true helixRepo: dotnet/wpf jobs: - job: Windows_NT pool: ${{ parameters.agentPool }} variables: # needed for signing - name: _TeamName value: DotNetCore - name: _SignType value: test - name: _SignArgs value: '' # needed for darc (dependency flow) publishing - name: _PublishType value: none - name: _DotNetPublishToBlobFeed value: false - name: _PublishArgs value: '' - name: _OfficialBuildIdArgs value: '' # Override some values if we're building internally - ${{ if eq(parameters.runAsPublic, 'false') }}: # note: You have to use list syntax here (- name: value) or you will get errors about declaring the same variable multiple times - name: _PublishType value: blob - name: _SignType value: real - name: _DotNetPublishToBlobFeed value: true - group: DotNet-Blob-Feed - group: DotNet-Symbol-Server-Pats - name: _PublishBlobFeedUrl value: https://dotnetfeed.blob.core.windows.net/dotnet-windowsdesktop/index.json # note: Even though they are referenced here, user defined variables (like $(_SignType)) are not resolved # until the agent is running on the machine. They can be overridden any time before they are resolved, # like in the job matrix below (see Build_Debug) - name: _SignArgs value: /p:DotNetSignType=$(_SignType) /p:TeamName=$(_TeamName) - name: _PublishArgs value: /p:DotNetPublishBlobFeedKey=$(dotnetfeed-storage-access-key-1) /p:DotNetPublishBlobFeedUrl=$(_PublishBlobFeedUrl) /p:DotNetPublishToBlobFeed=$(_DotNetPublishToBlobFeed) /p:DotNetSymbolServerTokenMsdl=$(microsoft-symbol-server-pat) /p:DotNetSymbolServerTokenSymWeb=$(symweb-symbol-server-pat) - name: _OfficialBuildIdArgs value: /p:OfficialBuildId=$(BUILD.BUILDNUMBER) strategy: matrix: Build_Debug: _BuildConfig: Debug # override some variables for debug _PublishType: none _SignType: test _DotNetPublishToBlobFeed : false Build_Release: _BuildConfig: Release steps: - checkout: self clean: true # Use utility script to run script command dependent on agent OS. - script: eng\common\cibuild.cmd -configuration $(_BuildConfig) -prepareMachine $(_PublishArgs) $(_SignArgs) $(_OfficialBuildIdArgs) displayName: Windows Build / Publish