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

setup-maestro-vars.yml « post-build « templates « common « eng - github.com/dotnet/llvm-project.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 826d3ed5f74c20bcbcc0f6b43b00695acedb13c9 (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
parameters:
  BARBuildId: ''
  PromoteToChannelIds: ''

steps:
  - ${{ if eq(coalesce(parameters.PromoteToChannelIds, 0), 0) }}:
    - task: DownloadBuildArtifacts@0
      displayName: Download Release Configs
      inputs:
        buildType: current
        artifactName: ReleaseConfigs
        checkDownloadedFiles: true

  - task: PowerShell@2
    name: setReleaseVars
    displayName: Set Release Configs Vars
    inputs:
      targetType: inline
      script: |
        try {
          if (!$Env:PromoteToMaestroChannels -or $Env:PromoteToMaestroChannels.Trim() -eq '') {
            $Content = Get-Content $(Build.StagingDirectory)/ReleaseConfigs/ReleaseConfigs.txt

            $BarId = $Content | Select -Index 0
            $Channels = $Content | Select -Index 1             
            $IsStableBuild = $Content | Select -Index 2

            $AzureDevOpsProject = $Env:System_TeamProject
            $AzureDevOpsBuildDefinitionId = $Env:System_DefinitionId
            $AzureDevOpsBuildId = $Env:Build_BuildId
          }
          else {
            $buildApiEndpoint = "${Env:MaestroApiEndPoint}/api/builds/${Env:BARBuildId}?api-version=${Env:MaestroApiVersion}"

            $apiHeaders = New-Object 'System.Collections.Generic.Dictionary[[String],[String]]'
            $apiHeaders.Add('Accept', 'application/json')
            $apiHeaders.Add('Authorization',"Bearer ${Env:MAESTRO_API_TOKEN}")

            $buildInfo = try { Invoke-WebRequest -Method Get -Uri $buildApiEndpoint -Headers $apiHeaders | ConvertFrom-Json } catch { Write-Host "Error: $_" }
            
            $BarId = $Env:BARBuildId
            $Channels = $Env:PromoteToMaestroChannels -split ","
            $Channels = $Channels -join "]["
            $Channels = "[$Channels]"

            $IsStableBuild = $buildInfo.stable
            $AzureDevOpsProject = $buildInfo.azureDevOpsProject
            $AzureDevOpsBuildDefinitionId = $buildInfo.azureDevOpsBuildDefinitionId
            $AzureDevOpsBuildId = $buildInfo.azureDevOpsBuildId
          }

          Write-Host "##vso[task.setvariable variable=BARBuildId]$BarId"
          Write-Host "##vso[task.setvariable variable=TargetChannels]$Channels"
          Write-Host "##vso[task.setvariable variable=IsStableBuild]$IsStableBuild"

          Write-Host "##vso[task.setvariable variable=AzDOProjectName]$AzureDevOpsProject"
          Write-Host "##vso[task.setvariable variable=AzDOPipelineId]$AzureDevOpsBuildDefinitionId"
          Write-Host "##vso[task.setvariable variable=AzDOBuildId]$AzureDevOpsBuildId"
        }
        catch {
          Write-Host $_
          Write-Host $_.Exception
          Write-Host $_.ScriptStackTrace
          exit 1
        }
    env:
      MAESTRO_API_TOKEN: $(MaestroApiAccessToken)
      BARBuildId: ${{ parameters.BARBuildId }}
      PromoteToMaestroChannels: ${{ parameters.PromoteToChannelIds }}