pipeline.yml 3.3 KB
Newer Older
S
Steven Kirbach 已提交
1 2 3
parameters:

  # Needed because agent pool can't be read from a user-defined variable (Azure DevOps limitation)
S
Steven Kirbach 已提交
4 5
  # Defaults to dotnet-external-temp-vs2019
  agentPool: dotnet-external-temp-vs2019
S
Steven Kirbach 已提交
6 7 8 9 10

  # Needed because runAsPublic is used in template expressions, which can't read from user-defined variables
  # Defaults to true
  runAsPublic: true

S
Steven Kirbach 已提交
11
jobs:
S
Steven Kirbach 已提交
12
- template: /eng/common/templates/jobs/jobs.yml
S
Steven Kirbach 已提交
13
  parameters:
S
Steven Kirbach 已提交
14 15 16 17 18 19
    enableMicrobuild: true
    enablePublishBuildArtifacts: true
    enablePublishTestResults: true
    enablePublishBuildAssets: true
    enableTelemetry: true
    helixRepo: dotnet/wpf
S
Steven Kirbach 已提交
20

S
Steven Kirbach 已提交
21 22 23 24 25
    jobs:
    - job: Windows_NT
      pool: ${{ parameters.agentPool }}
      variables:
        # needed for signing
S
Steven Kirbach 已提交
26
        - name: _TeamName
S
Steven Kirbach 已提交
27
          value: DotNetCore
S
Steven Kirbach 已提交
28
        - name: _SignType
S
Steven Kirbach 已提交
29
          value: test
S
Steven Kirbach 已提交
30
        - name: _SignArgs
S
Steven Kirbach 已提交
31
          value: ''
S
Steven Kirbach 已提交
32 33

        # needed for darc (dependency flow) publishing
S
Steven Kirbach 已提交
34
        - name: _PublishType
S
Steven Kirbach 已提交
35
          value: none
S
Steven Kirbach 已提交
36
        - name: _DotNetPublishToBlobFeed
S
Steven Kirbach 已提交
37
          value: false
S
Steven Kirbach 已提交
38
        - name: _PublishArgs
S
Steven Kirbach 已提交
39
          value: ''
S
Steven Kirbach 已提交
40
        - name: _OfficialBuildIdArgs
S
Steven Kirbach 已提交
41
          value: ''
S
Steven Kirbach 已提交
42 43 44

        # Override some values if we're building internally
        - ${{ if eq(parameters.runAsPublic, 'false') }}:
S
Steven Kirbach 已提交
45
          # note: You have to use list syntax here (- name: value) or you will get errors about declaring the same variable multiple times
S
Steven Kirbach 已提交
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
          - 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