Welcome to mirror list, hosted at ThFree Co, Russian Federation.

azure-pipelines.yml « eng - github.com/mono/cecil.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: e826b9f7fd4130346768f65d8b94b6b85f172ec6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
trigger:
  batch: true
  branches:
    include:
    - main

pr:
  branches:
    include:
    - main

variables:
- name: officialBuild
  value: ${{ and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}
- name: _BuildConfig
  value: Release
- name: _BuildArgs
  value:
- name: _DotNetArtifactsCategory
  value: .NETCore
- ${{ if eq(variables.officialBuild, 'true') }}:
  - name: _BuildArgs
    value: ${{ format('{0} /p:OfficialBuildId=$(Build.BuildNumber) /p:Test=false /p:IntegrationTest=false', variables['_BuildArgs']) }}
  # Provide HelixApiAccessToken for telemetry
  - group: DotNet-HelixApi-Access

stages:
- stage: build
  displayName: Build
  jobs:
  - template: /eng/common/templates/jobs/jobs.yml
    parameters:

      enableTelemetry: true # send helix telemetry
      enablePublishUsingPipelines: true
      enablePublishBuildArtifacts: true # publish build logs to pipeline storage
      ${{ if eq(variables.officialBuild, 'false') }}:
        enablePublishTestResults: true
        testResultsFormat: vstest
      enablePublishBuildAssets: true # generate build manifests and publish to BAR in internal builds
      enableMicrobuild: true # only affects internal builds
      enableSourceBuild: true

      jobs:

      - job: Windows_NT
        pool:
          ${{ if eq(variables.officialBuild, 'false') }}:
            vmImage: windows-latest
          ${{ if eq(variables.officialBuild, 'true') }}:
            name: NetCore1ESPool-Internal
            demands: ImageOverride -equals 1es-windows-2019
        variables:
          - ${{ if eq(variables.officialBuild, 'false') }}:
            - _SignType: test
            - _PublishArgs: ''
          - ${{ if eq(variables.officialBuild, 'true') }}:
            - group: DotNet-Blob-Feed
            - _TeamName: .NET # required by microbuild install step
            - _SignType: real # used in the arcade templates that install microbuild.
            - _DotNetPublishToBlobFeed: true # used by arcade templates that gather build asset manifests
            - _PublishArgs: /p:DotNetPublishToBlobFeed=$(_DotNetPublishToBlobFeed)
                            /p:DotNetPublishBlobFeedUrl=https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
                            /p:DotNetPublishBlobFeedKey=$(dotnetfeed-storage-access-key-1)
                            /p:DotNetArtifactsCategory=$(_DotNetArtifactsCategory)
                            /p:DotNetPublishUsingPipelines=true
          - DotNetSignType: ${{ format('{0}', variables._SignType) }} # DotNetSignType defaults to real if not specified
        steps:
        - checkout: self
          submodules: false
        - script: eng\common\cibuild.cmd -projects $(Build.SourcesDirectory)\Mono.Cecil.sln
                  -configuration $(_BuildConfig) $(_BuildArgs) $(_PublishArgs)
                  -integrationTest
                  -nodeReuse "$false" # https://github.com/Microsoft/vstest/issues/1503
          env:
            # https://github.com/Microsoft/vstest/issues/1503#issuecomment-410732193
            MSBUILDENSURESTDOUTFORTASKPROCESSES: 1
          ${{ if eq(variables.officialBuild, 'false') }}:
            displayName: Build Mono.Cecil.sln $(_BuildConfig)
          ${{ if eq(variables.officialBuild, 'true') }}:
            displayName: Build and publish Mono.Cecil.sln $(_BuildConfig)

      - job: SourceBuild_Managed
        displayName: Source-Build (Managed)
        pool:
          ${{ if eq(variables.officialBuild, 'false' )}}:
            vmImage: ubuntu-latest
          ${{ if eq(variables.officialBuild, 'true' )}}:
            name: NetCore1ESPool-Internal
            demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
        container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-3e800f1-20190501005343'
        workspace:
          clean: all
        steps:
        - checkout: self
          submodules: false
        - template: /eng/common/templates/steps/source-build.yml
          parameters:
            enablePublishTestResults: true

      - ${{ if eq(variables.officialBuild, 'false') }}:
        - job: Linux
          condition: eq(variables.officialBuild, 'false')
          pool:
            vmImage: ubuntu-latest
          steps:
          - checkout: self
            submodules: false
          - script: eng/common/cibuild.sh --projects $(Build.SourcesDirectory)/Mono.Cecil.sln
                    --configuration $(_BuildConfig) $(_BuildArgs)
                    --integrationTest
                    --nodeReuse false # https://github.com/Microsoft/vstest/issues/1503
            env:
              # https://github.com/Microsoft/vstest/issues/1503#issuecomment-410732193
              MSBUILDENSURESTDOUTFORTASKPROCESSES: 1
            displayName: Build Mono.Cecil.sln $(_BuildConfig)

      - ${{ if eq(variables.officialBuild, 'false') }}:
        - job: macOS
          pool:
              vmImage: macOS-latest
          steps:
          - checkout: self
            submodules: false
          - script: eng/common/cibuild.sh --projects $(Build.SourcesDirectory)/Mono.Cecil.sln
                    --configuration $(_BuildConfig) $(_BuildArgs)
                    --integrationTest
                    --nodeReuse false # https://github.com/Microsoft/vstest/issues/1503
            env:
              # https://github.com/Microsoft/vstest/issues/1503#issuecomment-410732193
              MSBUILDENSURESTDOUTFORTASKPROCESSES: 1
            displayName: Build Mono.Cecil.sln $(_BuildConfig)

# Post-Build Arcade logic
- ${{ if eq(variables.officialBuild, 'true') }}:
  - template: /eng/common/templates/post-build/post-build.yml
    parameters:
      publishingInfraVersion: 3