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

crossdac-pack.yml « templates « coreclr « pipelines « eng - github.com/dotnet/runtime.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 40e375bb9375c4db40afbfa9664ed77b7d91f07f (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
parameters:
  archType: ''
  buildConfig: ''
  container: ''
  crossDacPlatforms: {}
  dependOnEvaluatePaths: false
  isOfficialBuild: false
  osGroup: ''
  osSubgroup: ''
  platform: ''
  pool: ''
  runtimeVariant: ''
  stagedBuild: false
  testGroup: ''
  timeoutInMinutes: ''
  variables: {}

jobs:
- template: xplat-pipeline-job.yml
  parameters:
    archType: ${{ parameters.archType }}
    buildConfig: ${{ parameters.buildConfig }}
    container: ${{ parameters.container }}
    condition: ${{ parameters.isOfficialBuild }}
    helixType: 'build/product/'
    osGroup: ${{ parameters.osGroup }}
    osSubgroup: ${{ parameters.osSubgroup }}
    pool: ${{ parameters.pool }}
    runtimeVariant: ${{ parameters.runtimeVariant }}
    stagedBuild: ${{ parameters.stagedBuild }}
    timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
    dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }}

    name: crossdacpack
    displayName: CrossDac Packaging

    variables:
    - name: officialBuildIdArg
      value: ''
    - name: crossDacArgs
      value: ''
    - ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(variables['Build.Reason'], 'PullRequest')) }}:
      - name: officialBuildIdArg
        value: '/p:OfficialBuildId=$(Build.BuildNumber)'
      - name: crossDacArgs
        value: '/p:CrossDacArtifactsDir=$(crossDacArtifactPath)/$(buildCrossDacArtifactName)'
    - name: SignType
      value: $[ coalesce(variables.OfficialSignType, 'real') ]
    - ${{ parameters.variables }}

    dependsOn:
    - ${{ if ne(parameters.crossDacPlatforms, '') }}:
      - ${{ each platform in parameters.crossDacPlatforms }}:
        - ${{ parameters.runtimeFlavor }}_${{ parameters.runtimeVariant }}_product_build_${{ platform }}_${{ parameters.buildConfig }}

    steps:
    # Install MicroBuild for signing the package
    - ${{ if eq(parameters.isOfficialBuild, true) }}:
      - template: /eng/pipelines/common/restore-internal-tools.yml

      - task: MicroBuildSigningPlugin@2
        displayName: Install MicroBuild plugin for Signing
        inputs:
          signType: $(SignType)
          zipSources: false
          feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
        continueOnError: false
        condition: and(succeeded(), in(variables['SignType'], 'real', 'test'))

    - task: DownloadBuildArtifacts@0
      displayName: Download CrossDac artifacts
      inputs:
        artifactName: $(buildCrossDacArtifactName)
        downloadPath: $(crossDacArtifactPath)
        checkDownloadedFiles: true

    - script: $(Build.SourcesDirectory)$(dir)build$(scriptExt) -subset crossdacpack -arch $(archType) $(osArg) -c $(buildConfig) $(officialBuildIdArg) $(crossDacArgs) -ci
      displayName: Build crossdac packaging

    # Sign diagnostic files
    - ${{ if eq(parameters.isOfficialBuild, true) }}:
      - powershell: >-
          eng\common\build.ps1 -ci -sign -restore -configuration:$(buildConfig) -warnaserror:0 $(officialBuildIdArg)
          /p:PackagesFolder="$(Build.SourcesDirectory)/artifacts/packages/$(buildConfig)"
          /p:SignDiagnosticsPackages=true
          /p:DotNetSignType=$(SignType)
          -projects $(Build.SourcesDirectory)\eng\empty.csproj
        displayName: Sign CrossDac package and contents

    # Save packages using the prepare-signed-artifacts format.
    - template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
      parameters:
        name: ${{ parameters.platform }}

    # Upload to artifacts to be signed
    - task: PublishPipelineArtifact@1
      displayName: Publish Logs
      inputs:
        targetPath: $(Build.SourcesDirectory)/artifacts/log
        artifactName: 'CrossDacPackagingLogs'
      continueOnError: true
      condition: always()