pipeline.yml 4.0 KB
Newer Older
1 2 3 4
#
# This file should be kept in sync across https://www.github.com/dotnet/wpf and dotnet-wpf-int repos. 
#
# 
S
Steven Kirbach 已提交
5 6 7
parameters:

  # Needed because agent pool can't be read from a user-defined variable (Azure DevOps limitation)
8 9
  # Defaults to dotnet-internal-vs2019-preview
  agentPool: dotnet-internal-vs2019-preview
S
Steven Kirbach 已提交
10 11 12 13 14

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

S
Steven Kirbach 已提交
15
jobs:
S
Steven Kirbach 已提交
16
- template: /eng/common/templates/jobs/jobs.yml
S
Steven Kirbach 已提交
17
  parameters:
S
Steven Kirbach 已提交
18 19 20 21 22
    enableMicrobuild: true
    enablePublishBuildArtifacts: true
    enablePublishTestResults: true
    enablePublishBuildAssets: true
    enableTelemetry: true
23
    helixRepo: dnceng/wpf
S
Steven Kirbach 已提交
24

S
Steven Kirbach 已提交
25 26 27 28 29
    jobs:
    - job: Windows_NT
      pool: ${{ parameters.agentPool }}
      variables:
        # needed for signing
S
Steven Kirbach 已提交
30
        - name: _TeamName
S
Steven Kirbach 已提交
31
          value: DotNetCore
S
Steven Kirbach 已提交
32
        - name: _SignType
33
          value: real
S
Steven Kirbach 已提交
34
        - name: _SignArgs
S
Steven Kirbach 已提交
35
          value: ''
S
Steven Kirbach 已提交
36 37

        # needed for darc (dependency flow) publishing
S
Steven Kirbach 已提交
38
        - name: _PublishType
S
Steven Kirbach 已提交
39
          value: none
S
Steven Kirbach 已提交
40
        - name: _DotNetPublishToBlobFeed
S
Steven Kirbach 已提交
41
          value: false
S
Steven Kirbach 已提交
42
        - name: _PublishArgs
S
Steven Kirbach 已提交
43
          value: ''
S
Steven Kirbach 已提交
44
        - name: _OfficialBuildIdArgs
S
Steven Kirbach 已提交
45
          value: ''
S
Steven Kirbach 已提交
46 47
        - name: _Platform
          value: x86
48 49
        - name: _PlatformArgs
          value: /p:Platform=$(_Platform)
S
Steven Kirbach 已提交
50 51 52

        # Override some values if we're building internally
        - ${{ if eq(parameters.runAsPublic, 'false') }}:
S
Steven Kirbach 已提交
53
          # 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 已提交
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
          - 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)
74 75
              /p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines)
              /p:DotNetArtifactsCategory=$(_DotNetArtifactsCategory)
S
Steven Kirbach 已提交
76 77 78 79 80 81
              /p:DotNetSymbolServerTokenMsdl=$(microsoft-symbol-server-pat)
              /p:DotNetSymbolServerTokenSymWeb=$(symweb-symbol-server-pat)
          - name: _OfficialBuildIdArgs
            value: /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
      strategy:
        matrix:
S
Steven Kirbach 已提交
82
          Build_Debug_x86:
S
Steven Kirbach 已提交
83 84 85 86 87
            _BuildConfig: Debug
            # override some variables for debug
            _PublishType: none
            _SignType: test
            _DotNetPublishToBlobFeed : false
S
Steven Kirbach 已提交
88
          Build_Release_x86:
S
Steven Kirbach 已提交
89
            _BuildConfig: Release
S
Steven Kirbach 已提交
90 91 92 93 94 95 96 97 98 99
          Build_Debug_x64:
            _BuildConfig: Debug
            # override some variables for debug
            _PublishType: none
            _SignType: test
            _DotNetPublishToBlobFeed : false
            _Platform: x64
          Build_Release_x64:
            _BuildConfig: Release
            _Platform: x64
S
Steven Kirbach 已提交
100 101 102 103 104 105 106 107 108 109
      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)
S
Steven Kirbach 已提交
110
          $(_PlatformArgs)
111
        displayName: Windows Build / Publish