102 lines
3.9 KiB
YAML
102 lines
3.9 KiB
YAML
|
jobs:
|
||
|
- job: MacPackageSigningJob
|
||
|
displayName: macOS Package signing
|
||
|
dependsOn: build_macOS
|
||
|
condition: succeeded()
|
||
|
pool:
|
||
|
name: Package ES CodeHub Lab E
|
||
|
variables:
|
||
|
BuildConfiguration: release
|
||
|
BuildPlatform: any cpu
|
||
|
|
||
|
steps:
|
||
|
|
||
|
- powershell: |
|
||
|
tools/releaseBuild/setReleaseTag.ps1 -ReleaseTag $(ReleaseTagVar) -Variable "ReleaseTagVar"
|
||
|
displayName: 'Set ReleaseTag Variable'
|
||
|
|
||
|
- powershell: |
|
||
|
$version = '$(ReleaseTagVar)'.Substring(1)
|
||
|
$vstsCommandString = "vso[task.setvariable variable=Version]$version"
|
||
|
Write-Host "sending " + $vstsCommandString
|
||
|
Write-Host "##$vstsCommandString"
|
||
|
|
||
|
$azureVersion = '$(ReleaseTagVar)'.ToLowerInvariant() -replace '\.', '-'
|
||
|
$vstsCommandString = "vso[task.setvariable variable=AzureVersion]$azureVersion"
|
||
|
Write-Host "sending " + $vstsCommandString
|
||
|
Write-Host "##$vstsCommandString"
|
||
|
|
||
|
displayName: 'Set Version Variable'
|
||
|
|
||
|
- task: DownloadBuildArtifacts@0
|
||
|
displayName: 'Download artifacts'
|
||
|
inputs:
|
||
|
downloadType: specific
|
||
|
itemPattern: |
|
||
|
**/*.tar.gz
|
||
|
**/*.pkg
|
||
|
|
||
|
- powershell: |
|
||
|
dir "$(System.ArtifactsDirectory)\*" -Recurse
|
||
|
displayName: 'Capture Downloaded Artifacts'
|
||
|
# Diagnostics is not critical it passes every time it runs
|
||
|
continueOnError: true
|
||
|
|
||
|
- powershell: |
|
||
|
$null = new-item -type directory -path "$(Build.StagingDirectory)\macos"
|
||
|
$zipFile = "$(Build.StagingDirectory)\macos\powershell-$(Version)-osx-x64.zip"
|
||
|
Compress-Archive -Path "$(System.ArtifactsDirectory)\results\powershell-$(Version)-osx-x64.pkg" -Destination $zipFile
|
||
|
Write-Host $zipFile
|
||
|
displayName: 'Compress macOS Package'
|
||
|
|
||
|
- powershell: |
|
||
|
tools/releaseBuild/generatePackgeSigning.ps1 -MacDeveloperFiles "$(Build.StagingDirectory)\macos\powershell-$(Version)-osx-x64.zip" -path "$(System.ArtifactsDirectory)\package.xml"
|
||
|
displayName: 'Generate macOS Package Signing Xml'
|
||
|
|
||
|
- powershell: |
|
||
|
Get-Content "$(System.ArtifactsDirectory)\package.xml"
|
||
|
displayName: 'Capture macOS signing xml'
|
||
|
# Diagnostics is not critical it passes every time it runs
|
||
|
continueOnError: true
|
||
|
|
||
|
- task: PkgESCodeSign@10
|
||
|
displayName: 'CodeSign $(System.ArtifactsDirectory)\package.xml'
|
||
|
inputs:
|
||
|
signConfigXml: '$(System.ArtifactsDirectory)\package.xml'
|
||
|
outPathRoot: '$(Build.StagingDirectory)\signedMacOSPackages'
|
||
|
|
||
|
- powershell: |
|
||
|
dir "$(System.ArtifactsDirectory)\*.tar.gz" -Recurse | foreach-object {
|
||
|
$fullname = $_.fullname
|
||
|
Write-Host "##vso[artifact.upload containerfolder=signed;artifactname=signed]$fullname"
|
||
|
}
|
||
|
displayName: 'Upload tar.gz'
|
||
|
|
||
|
- powershell: |
|
||
|
dir "$(Build.StagingDirectory)\signedMacOSPackages\powershell-*.zip" -Recurse | foreach-object {
|
||
|
$fullname = $_.fullname
|
||
|
Write-Host "##vso[artifact.upload containerfolder=signed;artifactname=signed]$fullname"
|
||
|
}
|
||
|
displayName: 'Upload macOS signed package'
|
||
|
|
||
|
- powershell: |
|
||
|
$destination = "$(System.ArtifactsDirectory)\azureMacOs"
|
||
|
New-Item -Path $destination -Type Directory
|
||
|
$zipPath = dir "$(Build.StagingDirectory)\signedMacOSPackages\powershell-*.zip" -Recurse | select-object -expandproperty fullname
|
||
|
Expand-Archive -Path $zipPath -DestinationPath $destination
|
||
|
$targzPath = dir "$(System.ArtifactsDirectory)\*.tar.gz" -Recurse | select-object -expandproperty fullname
|
||
|
Copy-Item -Path $targzPath -Destination $destination
|
||
|
displayName: 'Extract and copy macOS artifacts for upload to azure'
|
||
|
|
||
|
- task: AzureFileCopy@1
|
||
|
displayName: 'AzureBlob File Copy'
|
||
|
inputs:
|
||
|
SourcePath: '$(System.ArtifactsDirectory)\azureMacOs'
|
||
|
azureSubscription: '$(AzureFileCopySubscription)'
|
||
|
Destination: AzureBlob
|
||
|
storage: '$(StorageAccount)'
|
||
|
ContainerName: '$(AzureVersion)'
|
||
|
|
||
|
- task: securedevelopmentteam.vss-secure-development-tools.build-task-antimalware.AntiMalware@3
|
||
|
displayName: 'Run MpCmdRun.exe'
|