Skip to content

Commit 3a08ddb

Browse files
authored
Add arm image support for release (#729)
1 parent edae63f commit 3a08ddb

File tree

4 files changed

+66
-29
lines changed

4 files changed

+66
-29
lines changed

Diff for: .vsts-ci/releasePhase.yml

+49-12
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,15 @@ jobs:
2626
matrix: $[ ${{ parameters.matrix }} ]
2727
maxParallel: ${{ parameters.maxParallel }}
2828
variables:
29-
dockerImage: 'powershell'
30-
ACR: ${{ parameters.ACR }}
31-
releaseTag: ${{ parameters.releaseTag }}
32-
scanType: Register
29+
- name: dockerImage
30+
value: 'powershell'
31+
- name: ACR
32+
value: ${{ parameters.ACR }}
33+
- name: releaseTag
34+
value: ${{ parameters.releaseTag }}
35+
- name: scanType
36+
value: Register
37+
- group: Azure Blob Variable Group
3338

3439
pool:
3540
name: ${{ parameters.pool }}
@@ -47,7 +52,7 @@ jobs:
4752
- task: UseDotNet@2
4853
inputs:
4954
packageType: 'sdk'
50-
version: 6.x
55+
version: 7.x
5156

5257
- pwsh: |
5358
dotnet --list-sdks
@@ -99,15 +104,42 @@ jobs:
99104
displayName: 'docker login $(dockerHost)'
100105
condition: and( succeededOrFailed(), ne(variables['Channel'],''))
101106
102-
- pwsh: ' az login --service-principal -u $(az_url) -p $(az_key) --tenant $(az_name)'
107+
108+
- pwsh: |
109+
if($env:ACR -eq 'yes')
110+
{
111+
Write-Host 'Using ACR, will need to az login'
112+
az login --service-principal -u $(az_url) -p $(az_key) --tenant $(az_name)
113+
}
103114
displayName: 'az login'
104115
condition: and( succeededOrFailed(), ne(variables['Channel'],''))
105116
106117
- pwsh: |
107-
az account set --subscription $(StorageSubscriptionName)
108-
$querystring = az storage account generate-sas --account-name $(StorageAccount) --services b --resource-types o --expiry ((get-date).AddDays(1).ToString("yyyy-MM-dd")) --permission r --https-only | convertfrom-json
109-
$url = "https://$(StorageAccount).blob.core.windows.net/?$querystring"
110-
Write-Host "##vso[task.setvariable variable=SasUrl;]$url"
118+
$modules = 'Az.Accounts', 'Az.Storage'
119+
foreach ($module in $modules) {
120+
if (!(Get-Module $module -listavailable)) {
121+
Write-Host "installing $module..." -verbose
122+
Install-Module $module -force -allowclobber
123+
} else {
124+
Write-Host "$module is already installed" -verbose
125+
}
126+
}
127+
displayName: 'Install AzAccounts'
128+
condition: and( succeededOrFailed(), ne(variables['Channel'],''))
129+
130+
- task: AzurePowerShell@5
131+
inputs:
132+
azureSubscription: '$(AzureFileCopySubscription)'
133+
scriptType: inlineScript
134+
azurePowerShellVersion: latestVersion
135+
pwsh: true
136+
inline: |
137+
$containerName = Out-String -InputObject $(DOCKERNAMESPACE) -NoNewline
138+
$containerName = $containerName.Replace('.', '-')
139+
$context = New-AzStorageContext -StorageAccountName $(StorageAccount)
140+
$querystring = New-AzStorageContainerSASToken -Context $context -Name $containerName -Permission r -ExpiryTime ((get-date).AddMinutes(180)) -Protocol HttpsOnly
141+
$url = "https://$(StorageAccount).blob.core.windows.net/$querystring"
142+
Write-Host "##vso[task.setvariable variable=SasUrl;]$url"
111143
displayName: 'Set SasUrl variable'
112144
condition: and( succeededOrFailed(), ne(variables['Channel'],''))
113145

@@ -116,7 +148,6 @@ jobs:
116148
condition: and( succeededOrFailed(), ne(variables['Channel'],''))
117149

118150
- pwsh: |
119-
az account set --subscription $(AcrSubscriptionName)
120151
$extraParams = @{}
121152
if($env:ACR -eq 'no')
122153
{
@@ -125,6 +156,7 @@ jobs:
125156
}
126157
else
127158
{
159+
az account set --subscription $(AcrSubscriptionName)
128160
Write-Host 'Using ACR, will NOT test behavior...'
129161
$extraParams.Add('SkipTest',$true)
130162
}
@@ -153,7 +185,12 @@ jobs:
153185
displayName: 'docker logout'
154186
condition: and( always(), ne(variables['Channel'],''))
155187

156-
- pwsh: 'az logout'
188+
- pwsh: |
189+
if($env:ACR -eq 'yes')
190+
{
191+
Write-Host 'Using ACR, will need to az logout'
192+
az logout
193+
}
157194
displayName: 'az logout'
158195
condition: and( succeededOrFailed(), ne(variables['Channel'],''))
159196

Diff for: .vsts-ci/releaseStage.yml

+8-8
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,14 @@ stages:
3939
- GenerateYaml_${{ parameters.channel }}
4040
jobName: Build_Linux_x64
4141

42-
# - template: releasePhase.yml
43-
# parameters:
44-
# matrix: dependencies.GenerateYaml_${{ parameters.channel }}.outputs['matrix.matrix_${{ parameters.channel }}_linux_arm64']
45-
# dependsOn:
46-
# - GenerateYaml_${{ parameters.channel }}
47-
# jobName: Build_Linux_arm
48-
# pool: PS-mscodehub-ARM
49-
# vmImage: PSMMSUbuntu20.04-ARM64-secure
42+
- template: releasePhase.yml
43+
parameters:
44+
matrix: dependencies.GenerateYaml_${{ parameters.channel }}.outputs['matrix.matrix_${{ parameters.channel }}_linux_arm64']
45+
dependsOn:
46+
- GenerateYaml_${{ parameters.channel }}
47+
jobName: Build_Linux_arm
48+
pool: PS-mscodehub-ARM
49+
vmImage: PSMMSUbuntu20.04-ARM64-secure
5050

5151
- template: releasePhase.yml
5252
parameters:

Diff for: .vsts-ci/releasebuild.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ parameters:
66
- name: 'ltsReleaseTag'
77
default: 'v7.2.10'
88
- name: 'stableReleaseTag'
9-
default: 'v7.3.2'
9+
default: 'v7.3.3'
1010

1111
resources:
1212
- repo: self

Diff for: .vsts-ci/templatesReleasePipeline/releaseStage.yml

+8-8
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,14 @@ stages:
5757
dependsOn:
5858
- GenerateYaml_${{ parameters.channel }}
5959

60-
# - template: ./releaseJob.yml
61-
# parameters:
62-
# jobName: ${{ parameters.channel }}_linux_arm
63-
# matrix: dependencies.GenerateYaml_${{ parameters.channel }}.outputs['matrix.matrix_${{ parameters.channel }}_linux_arm64']
64-
# WhatIf: ${{ parameters.WhatIf }}
65-
# vmImage: "PSMMSUbuntu20.04-Secure"
66-
# dependsOn:
67-
# - GenerateYaml_${{ parameters.channel }}
60+
- template: ./releaseJob.yml
61+
parameters:
62+
jobName: ${{ parameters.channel }}_linux_arm
63+
matrix: dependencies.GenerateYaml_${{ parameters.channel }}.outputs['matrix.matrix_${{ parameters.channel }}_linux_arm64']
64+
WhatIf: ${{ parameters.WhatIf }}
65+
vmImage: "PSMMSUbuntu20.04-Secure"
66+
dependsOn:
67+
- GenerateYaml_${{ parameters.channel }}
6868

6969
- stage: Release_ManifestList_${{ parameters.channel }}
7070
jobs:

0 commit comments

Comments
 (0)