71 lines
2.7 KiB
YAML
71 lines
2.7 KiB
YAML
jobs:
|
|
- job: CreateMSIXBundle
|
|
displayName: Create .msixbundle file
|
|
pool:
|
|
vmImage: windows-latest
|
|
variables:
|
|
- group: msixTools
|
|
- group: 'Azure Blob variable group'
|
|
|
|
steps:
|
|
- template: release-SetReleaseTagAndContainerName.yml
|
|
|
|
- task: DownloadPipelineArtifact@2
|
|
inputs:
|
|
source: specific
|
|
project: PowerShellCore
|
|
pipeline: '696'
|
|
preferTriggeringPipeline: true
|
|
runVersion: latestFromBranch
|
|
runBranch: '$(Build.SourceBranch)'
|
|
artifact: finalResults
|
|
patterns: '**/*.msix'
|
|
path: '$(Pipeline.Workspace)\releasePipeline\msix'
|
|
|
|
- pwsh: |
|
|
$cmd = Get-Command makeappx.exe -ErrorAction Ignore
|
|
if ($cmd) {
|
|
Write-Verbose -Verbose 'makeappx available in PATH'
|
|
$exePath = $cmd.Source
|
|
} else {
|
|
$toolsDir = '$(Pipeline.Workspace)\releasePipeline\tools'
|
|
New-Item $toolsDir -Type Directory -Force > $null
|
|
Invoke-RestMethod -Uri '$(makeappUrl)' -OutFile "$toolsDir\makeappx.zip"
|
|
Expand-Archive "$toolsDir\makeappx.zip" -DestinationPath "$toolsDir\makeappx" -Force
|
|
$exePath = "$toolsDir\makeappx\makeappx.exe"
|
|
|
|
Write-Verbose -Verbose 'makeappx was installed:'
|
|
Get-ChildItem -Path $toolsDir -Recurse
|
|
}
|
|
|
|
$vstsCommandString = "vso[task.setvariable variable=MakeAppxPath]$exePath"
|
|
Write-Host "sending " + $vstsCommandString
|
|
Write-Host "##$vstsCommandString"
|
|
displayName: Install makeappx tool
|
|
|
|
- pwsh: |
|
|
$sourceDir = '$(Pipeline.Workspace)\releasePipeline\msix'
|
|
$file = Get-ChildItem $sourceDir | Select-Object -First 1
|
|
$prefix = ($file.BaseName -split "-win")[0]
|
|
$pkgName = "$prefix.msixbundle"
|
|
Write-Verbose -Verbose "Creating $pkgName"
|
|
|
|
$makeappx = '$(MakeAppxPath)'
|
|
$outputDir = "$sourceDir\output"
|
|
New-Item $outputDir -Type Directory -Force > $null
|
|
& $makeappx bundle /d $sourceDir /p "$outputDir\$pkgName"
|
|
|
|
Get-ChildItem -Path $sourceDir -Recurse
|
|
$vstsCommandString = "vso[task.setvariable variable=BundleDir]$outputDir"
|
|
Write-Host "sending " + $vstsCommandString
|
|
Write-Host "##$vstsCommandString"
|
|
displayName: Create MsixBundle
|
|
|
|
- pwsh: |
|
|
## We use AzCopy v8.1 in our release pipeline, see the documentation at:
|
|
## https://docs.microsoft.com/en-us/previous-versions/azure/storage/storage-use-azcopy
|
|
|
|
$azcopy = "C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy\AzCopy.exe"
|
|
& $azcopy /Source:$(BundleDir) /Dest:https://$(StorageAccount).blob.core.windows.net/$(AzureVersion)-private /DestKey:$(StorageAccountKey) /Pattern:*.msixbundle /Y
|
|
displayName: Upload MSIX Bundle package to Az Blob
|