Skip to content

Add arm image support for release #729

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 45 commits into from
Feb 28, 2023
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
fc4fe34
add arm image support for release
anamnavi Jan 18, 2023
dbf8adb
remove extra CG code
anamnavi Jan 19, 2023
56c9fe0
change UseDotNet task to use 6.x
anamnavi Jan 19, 2023
eedc7a4
arm images are using dotnet 7
anamnavi Jan 19, 2023
8723acc
avoid az cli commands which aren't supported for arm yet
anamnavi Jan 30, 2023
e6abca5
replace containerName placeholder with image name
anamnavi Jan 30, 2023
da52338
Update the release build yaml with the latest versions (#731)
github-actions[bot] Jan 31, 2023
8cef1a6
use az cli for ACR only
anamnavi Feb 8, 2023
03c0e7f
remove param for New-AzStorageContext
anamnavi Feb 14, 2023
1a4b6bc
install Az.Accounts for sasUrl variable task
anamnavi Feb 20, 2023
6d36053
run Get-Module to check if Az.Accounts is found
anamnavi Feb 21, 2023
ee54b68
use correct parameter switch
anamnavi Feb 21, 2023
22251e2
use WRiteHost
anamnavi Feb 21, 2023
4194c8a
install Az.Accounts in separate task
anamnavi Feb 22, 2023
356b1da
install Az.Storage module as well
anamnavi Feb 23, 2023
d6080fb
write verbose
anamnavi Feb 23, 2023
461172f
add arm image support for release
anamnavi Jan 18, 2023
5162204
remove extra CG code
anamnavi Jan 19, 2023
cce35b3
change UseDotNet task to use 6.x
anamnavi Jan 19, 2023
5fdd192
arm images are using dotnet 7
anamnavi Jan 19, 2023
709510a
avoid az cli commands which aren't supported for arm yet
anamnavi Jan 30, 2023
89320a9
replace containerName placeholder with image name
anamnavi Jan 30, 2023
d77422c
use az cli for ACR only
anamnavi Feb 8, 2023
8236765
remove param for New-AzStorageContext
anamnavi Feb 14, 2023
b09d613
install Az.Accounts for sasUrl variable task
anamnavi Feb 20, 2023
ecbd4f4
run Get-Module to check if Az.Accounts is found
anamnavi Feb 21, 2023
a75687a
use correct parameter switch
anamnavi Feb 21, 2023
faf9450
use WRiteHost
anamnavi Feb 21, 2023
d1ef018
install Az.Accounts in separate task
anamnavi Feb 22, 2023
ef7dbc2
install Az.Storage module as well
anamnavi Feb 23, 2023
1d28f56
write verbose
anamnavi Feb 23, 2023
76c73ce
Merge branch 'arm-build-changes' of https://github.com/anamnavi/Power…
anamnavi Feb 24, 2023
45e6b2a
Fix param values for New-AzStorageContainerSASToken cmdlet
anamnavi Feb 27, 2023
f6a9f12
use New-AzStorageBlobSASToken cmdlet
anamnavi Feb 27, 2023
e5598ae
add verbose messag
anamnavi Feb 27, 2023
7e73a07
add verbose message
anamnavi Feb 27, 2023
d79d5f7
add verbose message
anamnavi Feb 27, 2023
2b4c203
remove ? from url as query string has it
anamnavi Feb 27, 2023
818babf
use New-AzStorageContainerSASToken and fixed url
anamnavi Feb 27, 2023
e254822
use correct container name to generate SAS token
anamnavi Feb 28, 2023
f1ce8cd
call replace() correctly
anamnavi Feb 28, 2023
59bd3ba
fix replace
anamnavi Feb 28, 2023
f6097dc
ensure dockernamespace value used as string
anamnavi Feb 28, 2023
f513920
remove verbose messages
anamnavi Feb 28, 2023
8f6c13d
Apply suggestions from code review
TravisEz13 Feb 28, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 46 additions & 13 deletions .vsts-ci/releasePhase.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,15 @@ jobs:
matrix: $[ ${{ parameters.matrix }} ]
maxParallel: ${{ parameters.maxParallel }}
variables:
dockerImage: 'powershell'
ACR: ${{ parameters.ACR }}
releaseTag: ${{ parameters.releaseTag }}
scanType: Register
- name: dockerImage
value: 'powershell'
- name: ACR
value: ${{ parameters.ACR }}
- name: releaseTag
value: ${{ parameters.releaseTag }}
- name: scanType
value: Register
- group: Azure Blob Variable Group

pool:
name: ${{ parameters.pool }}
Expand All @@ -47,7 +52,7 @@ jobs:
- task: UseDotNet@2
inputs:
packageType: 'sdk'
version: 6.x
version: 7.x

- pwsh: |
dotnet --list-sdks
Expand Down Expand Up @@ -99,15 +104,38 @@ jobs:
displayName: 'docker login $(dockerHost)'
condition: and( succeededOrFailed(), ne(variables['Channel'],''))

- pwsh: ' az login --service-principal -u $(az_url) -p $(az_key) --tenant $(az_name)'

- pwsh: |
if($env:ACR -eq 'yes')
{
Write-Host 'Using ACR, will need to az login'
az login --service-principal -u $(az_url) -p $(az_key) --tenant $(az_name)
}
displayName: 'az login'
condition: and( succeededOrFailed(), ne(variables['Channel'],''))

- pwsh: |
az account set --subscription $(StorageSubscriptionName)
$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
$url = "https://$(StorageAccount).blob.core.windows.net/?$querystring"
Write-Host "##vso[task.setvariable variable=SasUrl;]$url"
- task: AzurePowerShell@5
inputs:
azureSubscription: '$(AzureFileCopySubscription)'
scriptType: inlineScript
azurePowerShellVersion: latestVersion
pwsh: true
inline: |
$modules = 'Az.Accounts'
foreach ($module in $modules) {
$modulesOnMachine = get-module -listavailable
Write-Host $modulesOnMachine -Verbose
if (!(Get-Module $module -listavailable)) {
Write-Verbose "installing $module..." -verbose
Install-Module $module -force -allowclobber
} else {
Write-Verbose "$module is already installed" -verbose
}
}
$context = New-AzStorageContext -StorageAccountName $(StorageAccount)
$querystring = New-AzStorageContainerSASToken -Context $context -Name $(ImageName) -Permission racwdl -ExpiryTime ((get-date).AddDays(1).ToString("yyyy-MM-dd")) | convertfrom-json
$url = "https://$(StorageAccount).blob.core.windows.net/?$querystring"
Write-Host "##vso[task.setvariable variable=SasUrl;]$url"
displayName: 'Set SasUrl variable'
condition: and( succeededOrFailed(), ne(variables['Channel'],''))

Expand All @@ -116,7 +144,6 @@ jobs:
condition: and( succeededOrFailed(), ne(variables['Channel'],''))

- pwsh: |
az account set --subscription $(AcrSubscriptionName)
$extraParams = @{}
if($env:ACR -eq 'no')
{
Expand All @@ -125,6 +152,7 @@ jobs:
}
else
{
az account set --subscription $(AcrSubscriptionName)
Write-Host 'Using ACR, will NOT test behavior...'
$extraParams.Add('SkipTest',$true)
}
Expand Down Expand Up @@ -153,7 +181,12 @@ jobs:
displayName: 'docker logout'
condition: and( always(), ne(variables['Channel'],''))

- pwsh: 'az logout'
- pwsh: |
if($env:ACR -eq 'yes')
{
Write-Host 'Using ACR, will need to az logout'
az logout
}
displayName: 'az logout'
condition: and( succeededOrFailed(), ne(variables['Channel'],''))

Expand Down
16 changes: 8 additions & 8 deletions .vsts-ci/releaseStage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,14 @@ stages:
- GenerateYaml_${{ parameters.channel }}
jobName: Build_Linux_x64

# - template: releasePhase.yml
# parameters:
# matrix: dependencies.GenerateYaml_${{ parameters.channel }}.outputs['matrix.matrix_${{ parameters.channel }}_linux_arm64']
# dependsOn:
# - GenerateYaml_${{ parameters.channel }}
# jobName: Build_Linux_arm
# pool: PS-mscodehub-ARM
# vmImage: PSMMSUbuntu20.04-ARM64-secure
- template: releasePhase.yml
parameters:
matrix: dependencies.GenerateYaml_${{ parameters.channel }}.outputs['matrix.matrix_${{ parameters.channel }}_linux_arm64']
dependsOn:
- GenerateYaml_${{ parameters.channel }}
jobName: Build_Linux_arm
pool: PS-mscodehub-ARM
vmImage: PSMMSUbuntu20.04-ARM64-secure

- template: releasePhase.yml
parameters:
Expand Down
16 changes: 8 additions & 8 deletions .vsts-ci/templatesReleasePipeline/releaseStage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,14 +57,14 @@ stages:
dependsOn:
- GenerateYaml_${{ parameters.channel }}

# - template: ./releaseJob.yml
# parameters:
# jobName: ${{ parameters.channel }}_linux_arm
# matrix: dependencies.GenerateYaml_${{ parameters.channel }}.outputs['matrix.matrix_${{ parameters.channel }}_linux_arm64']
# WhatIf: ${{ parameters.WhatIf }}
# vmImage: "PSMMSUbuntu20.04-Secure"
# dependsOn:
# - GenerateYaml_${{ parameters.channel }}
- template: ./releaseJob.yml
parameters:
jobName: ${{ parameters.channel }}_linux_arm
matrix: dependencies.GenerateYaml_${{ parameters.channel }}.outputs['matrix.matrix_${{ parameters.channel }}_linux_arm64']
WhatIf: ${{ parameters.WhatIf }}
vmImage: "PSMMSUbuntu20.04-Secure"
dependsOn:
- GenerateYaml_${{ parameters.channel }}

- stage: Release_ManifestList_${{ parameters.channel }}
jobs:
Expand Down