Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
36548b8
Initial commit: adding scaffold files to the repository.
adityapatwardhan Aug 19, 2025
7a70184
Merge remote-tracking branch 'msazure/main' into gh-master
adityapatwardhan Aug 19, 2025
e540cb3
Merged PR 13248737: Get code over from GitHub
adityapatwardhan Aug 19, 2025
c781be2
Set up CI with Start Right
adityapatwardhan Aug 19, 2025
a5f7992
initial
adityapatwardhan Aug 19, 2025
c326730
fix typo
adityapatwardhan Aug 19, 2025
72d3e1d
Fix indent
adityapatwardhan Aug 19, 2025
fa328b2
Fix branch
adityapatwardhan Aug 19, 2025
76b0605
fix yaml
adityapatwardhan Aug 19, 2025
e647c6e
fixes
adityapatwardhan Aug 19, 2025
b5cb0c5
add variable
adityapatwardhan Aug 19, 2025
3fe5160
Remove pipeline resource
adityapatwardhan Aug 19, 2025
a0097c2
windows x64 build
adityapatwardhan Aug 19, 2025
7ceeffd
Make non official for testing
adityapatwardhan Aug 19, 2025
6162d05
fix job name
adityapatwardhan Aug 19, 2025
d6fbabe
Add container name
adityapatwardhan Aug 19, 2025
ca157f4
add featureflags
adityapatwardhan Aug 19, 2025
0693512
Update expected path for 2022
adityapatwardhan Aug 20, 2025
9fee4d4
Update path for VC
adityapatwardhan Aug 20, 2025
932223d
Select first VC path
adityapatwardhan Aug 20, 2025
f3d3ee8
Capture env
adityapatwardhan Aug 20, 2025
516d0de
Update VS version
adityapatwardhan Aug 20, 2025
aa4b2b9
Update VS cmake generator
adityapatwardhan Aug 20, 2025
48d9255
Update SDL and generator
adityapatwardhan Aug 20, 2025
07b51aa
Update generator
adityapatwardhan Aug 20, 2025
16ba199
Create output folder
adityapatwardhan Aug 20, 2025
d9c9e18
Fix Create output folder
adityapatwardhan Aug 20, 2025
e138531
Add matrix
adityapatwardhan Aug 20, 2025
bf4dc32
Add matrix for job name
adityapatwardhan Aug 20, 2025
38827f3
Add matrix for job name
adityapatwardhan Aug 20, 2025
77f2344
Add jobs
adityapatwardhan Aug 20, 2025
3158bd8
fix indent
adityapatwardhan Aug 20, 2025
ee4f3d3
Fix nnames
adityapatwardhan Aug 20, 2025
96227a4
Template and signing
adityapatwardhan Aug 20, 2025
344d8a9
Fix path
adityapatwardhan Aug 20, 2025
178ad5e
fix index
adityapatwardhan Aug 20, 2025
b8538f8
Add linux
adityapatwardhan Aug 21, 2025
40f9ec0
Add linux file
adityapatwardhan Aug 21, 2025
4a13d2a
Fix linux build name
adityapatwardhan Aug 21, 2025
b69f540
Use mariner
adityapatwardhan Aug 21, 2025
721826b
fixes
adityapatwardhan Aug 21, 2025
9d6ca51
Check arm env
adityapatwardhan Aug 21, 2025
9456732
Fix bootstrap
adityapatwardhan Aug 21, 2025
46aca29
Allow azure linux
adityapatwardhan Aug 21, 2025
9adfcdc
Fix mariner detection
adityapatwardhan Aug 21, 2025
a0589be
Fix get package manager
adityapatwardhan Aug 21, 2025
35aeb0c
Fix get package manager 2
adityapatwardhan Aug 21, 2025
9a0ee38
Update deps
adityapatwardhan Aug 21, 2025
42306ba
Update deps 2
adityapatwardhan Aug 21, 2025
c1f1fe3
Update deps 3
adityapatwardhan Aug 21, 2025
c6b776b
Update deps 4
adityapatwardhan Aug 21, 2025
5cc545b
Update deps 5
adityapatwardhan Aug 21, 2025
16182dc
Use hostArch and fix binskim
adityapatwardhan Aug 21, 2025
e0f0855
Update toolchain
adityapatwardhan Aug 21, 2025
e3cae92
Add compiler option
adityapatwardhan Aug 22, 2025
613c3f0
Update for arm
adityapatwardhan Aug 22, 2025
77eca53
Add osx
adityapatwardhan Aug 22, 2025
a4def12
Try to fix arm
adityapatwardhan Aug 22, 2025
645a44d
Call osx job
adityapatwardhan Aug 22, 2025
cfbf83c
Update arm toolchain
adityapatwardhan Aug 22, 2025
a916aa1
Misc changes
adityapatwardhan Aug 25, 2025
53e8496
Non-offical switch
adityapatwardhan Aug 25, 2025
b7e0e2c
fix typo
adityapatwardhan Aug 25, 2025
05fce23
Fix osx
adityapatwardhan Aug 25, 2025
5361b9b
Cross compile arm64
adityapatwardhan Aug 25, 2025
2cb397b
Add cross compile packages
adityapatwardhan Aug 25, 2025
ba448d3
Update cmake for macos
adityapatwardhan Aug 25, 2025
8fa4f37
Fix osx build
adityapatwardhan Aug 25, 2025
8393f7a
Fix arm64
adityapatwardhan Aug 25, 2025
ee82fb2
Update osx cmake version
adityapatwardhan Aug 25, 2025
5d97e67
Update osx cmake version in cmakelist.txt
adityapatwardhan Aug 25, 2025
50d3b05
Update cmake min version 3
adityapatwardhan Aug 25, 2025
40b0502
Add hostArch
adityapatwardhan Aug 26, 2025
2fbc96e
fix condition
adityapatwardhan Aug 26, 2025
434aea7
fix condition 2
adityapatwardhan Aug 26, 2025
e9b7b98
Update macos cmake min version
adityapatwardhan Aug 26, 2025
897a028
Disable binskim and update macos cmake min version
adityapatwardhan Aug 26, 2025
14b9a34
disable credscan on linux-arm64
adityapatwardhan Aug 26, 2025
0ec1dfe
add macos version range
adityapatwardhan Aug 26, 2025
e756770
Try DCMAKE POLICY
adityapatwardhan Aug 26, 2025
867e063
Try DCMAKE POLICY fix
adityapatwardhan Aug 26, 2025
e5d94e7
Update locale test
adityapatwardhan Aug 26, 2025
ac1e068
Add comment in test and add nuget stage
adityapatwardhan Aug 26, 2025
89960c0
NuPKG changes
adityapatwardhan Aug 26, 2025
e70a158
Fix template path
adityapatwardhan Aug 26, 2025
dba5e6b
Add template for setversion
adityapatwardhan Aug 26, 2025
e746a9e
Fix path
adityapatwardhan Aug 26, 2025
bf9e6b9
Fix compress
adityapatwardhan Aug 26, 2025
cae4f97
Fix linux arm foldername
adityapatwardhan Aug 26, 2025
c5c18f8
fix windows arm64 folder name
adityapatwardhan Aug 27, 2025
b7e887c
Fix linux path and add symbol publish
adityapatwardhan Aug 27, 2025
949a559
Build nupkg and sign it
adityapatwardhan Aug 27, 2025
d39afce
fix symbols copy
adityapatwardhan Aug 27, 2025
63befd6
Add deploy box publish
adityapatwardhan Aug 27, 2025
c4daf9c
fix version variable
adityapatwardhan Aug 27, 2025
99d0dc8
Fix deployment
adityapatwardhan Aug 27, 2025
d97d820
Fix release environment
adityapatwardhan Aug 27, 2025
7a59694
Fix release environment type
adityapatwardhan Aug 27, 2025
09b9b4f
Make them stage variables
adityapatwardhan Aug 27, 2025
749e44d
Remove conditional
adityapatwardhan Aug 27, 2025
31fd1a4
Set version variable
adityapatwardhan Aug 27, 2025
4db2750
Use output variable
adityapatwardhan Aug 27, 2025
13883b2
Call the output variable correctly
adityapatwardhan Aug 27, 2025
54532d7
Deploybox updates
adityapatwardhan Aug 27, 2025
ae8f72a
Fix deploybox
adityapatwardhan Aug 28, 2025
7dc14a5
Fix artifact name for download
adityapatwardhan Aug 28, 2025
0b8f3e9
Find nupkg file
adityapatwardhan Aug 28, 2025
1c4e48a
find and copy nupkg
adityapatwardhan Aug 28, 2025
3de81a1
Add the NuGet push command
adityapatwardhan Aug 28, 2025
4948383
Delete the locale test
adityapatwardhan Aug 28, 2025
e4dccef
Update cmakelist for test removal
adityapatwardhan Aug 28, 2025
96164db
fix CI build
adityapatwardhan Aug 28, 2025
2ebbf24
fix CI build 2
adityapatwardhan Aug 28, 2025
d43252f
Fix CI build 3
adityapatwardhan Aug 28, 2025
34b93bb
Fix CI build 4
adityapatwardhan Aug 28, 2025
599bb99
Fix CI build 4
adityapatwardhan Aug 28, 2025
7287abe
Fix cmake generator
adityapatwardhan Aug 28, 2025
bc3986f
Fix alternatevcpath
adityapatwardhan Aug 29, 2025
6526354
Add 2022 vc alternate path
adityapatwardhan Aug 29, 2025
9f64859
Update TSA dynamic routing
adityapatwardhan Aug 29, 2025
aadfda3
Use dynamic onebranch template
adityapatwardhan Aug 29, 2025
10508ea
Use variable
adityapatwardhan Aug 29, 2025
d8e0f11
fix templates repo
adityapatwardhan Aug 29, 2025
cdf1c9d
Remove links
adityapatwardhan Sep 2, 2025
baa69b0
Move capture env task to ob_restore
adityapatwardhan Sep 4, 2025
5734a4d
Add prefast
adityapatwardhan Sep 4, 2025
012c475
Add signing workaround
adityapatwardhan Sep 4, 2025
42b1bc8
Disable network isolation as workaround
adityapatwardhan Sep 8, 2025
08dc1f4
Undo disable of network isolation
adityapatwardhan Sep 8, 2025
4ac91ad
Add parameter for network isolation disablement
adityapatwardhan Sep 8, 2025
d87bcff
Fix yaml for parameter condition
adityapatwardhan Sep 9, 2025
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
11 changes: 11 additions & 0 deletions .config/tsaoptions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"hasDynamicRouting": true,
"areaPath": "OS",
"notificationAliases": [
"adityap@microsoft.com",
"dongbow@microsoft.com",
"pmeinecke@microsoft.com",
"tplunk@microsoft.com"
],
"codebaseName": "TFSMSAzure_powershell-native"
}
181 changes: 181 additions & 0 deletions .pipelines/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
trigger: none

parameters:
- name: OfficialBuild
type: boolean
default: false
- name: disableNetworkIsolation
type: boolean
default: false

variables:
- name: ob_outputDirectory
value: '$(Build.ArtifactStagingDirectory)/ONEBRANCH_ARTIFACT'
- name: LinuxContainerImage
value: mcr.microsoft.com/onebranch/azurelinux/build:3.0
- name: WindowsContainerImage
value: onebranch.azurecr.io/windows/ltsc2022/vse2022:latest
- name: templateFile
value: ${{ iif ( parameters.OfficialBuild, 'v2/OneBranch.Official.CrossPlat.yml@templates', 'v2/OneBranch.NonOfficial.CrossPlat.yml@templates' ) }}
- name: disableNetworkIsolation
value: ${{ parameters.disableNetworkIsolation }}

resources:
repositories:
- repository: templates
type: git
name: OneBranch.Pipelines/GovernedTemplates
ref: refs/heads/main

extends:
template: ${{ variables.templateFile }} # The Official template may only be used by Production-classified pipelines

parameters:
release:
category: NonAzure
featureFlags:
WindowsHostVersion:
Disk: Large
Version: 2022
Network: KS1
incrementalSDLBinaryAnalysis: true
needExceptionForUbuntuUsage: true
disableNetworkIsolation: ${{ variables.disableNetworkIsolation }}
cloudvault:
enabled: false
globalSdl:
isNativeCode: true
prefast:
enabled: true
tsa:
useDynamicRouting: true
enabled: true
sbom:
enabled: true
packageName: Microsoft.PowerShell.Native
codeql:
tsaEnabled: true
compiled:
enabled: true
armory:
enabled: false
credscan:
enabled: true
scanFolder: $(Build.SourcesDirectory)
binskim:
enabled: true
exactToolVersion: 4.4.2
apiscan:
enabled: false
tsaOptionsFile: .config\tsaoptions.json

stages:
- stage: WinBuildAndSign
displayName: Windows Build and Sign
jobs:
- template: .pipelines/templates/build-sign-windows.yml@self
parameters:
ARCHITECTURE: 'x64'

- template: .pipelines/templates/build-sign-windows.yml@self
parameters:
ARCHITECTURE: 'x86'

- template: .pipelines/templates/build-sign-windows.yml@self
parameters:
ARCHITECTURE: 'x64_arm64'

- stage: LinuxBuild
displayName: Linux Build
jobs:
- template: .pipelines/templates/build-linux.yml@self
parameters:
ARCHITECTURE: 'linux-x64'
Name: 'Build_Linux_x64'

- template: .pipelines/templates/build-linux.yml@self
parameters:
ARCHITECTURE: 'linux-arm64'
Name: 'Build_Linux_arm64'
hostArchitecture: 'arm64'

- template: .pipelines/templates/build-linux.yml@self
parameters:
ARCHITECTURE: 'linux-musl-x64'
Name: 'Build_Linux_musl_x64'

- template: .pipelines/templates/build-linux.yml@self
parameters:
ARCHITECTURE: 'osx'
Name: 'Build_osx'

- stage: LinuxBuildARM
displayName: Linux ARM Build
variables:
- name: LinuxContainerImage
value: onebranch.azurecr.io/linux/ubuntu-2204:latest

jobs:
- template: .pipelines/templates/build-linux.yml@self
parameters:
ARCHITECTURE: 'linux-arm'
Name: 'Build_Linux_arm'

- stage: Build_Nuget
dependsOn: [WinBuildAndSign, LinuxBuild, LinuxBuildARM]
displayName: Build NuGet
jobs:
- template: .pipelines/templates/build-nuget.yml@self

- stage: Release_NuGet
displayName: Release NuGet
dependsOn: [Build_Nuget]
variables:
- name: Version
value: $[ stageDependencies.Build_Nuget.Build_Nuget_Job.outputs['SetVersion.NugetPackageVersion'] ]
- name: ob_release_environment
value: ${{ iif ( parameters.OfficialBuild, 'Production', 'Test' ) }}
jobs:
- job: NuGetPublish
displayName: Publish to NuGet
condition: succeeded()
pool:
type: release
os: windows
templateContext:
inputs:
- input: pipelineArtifact
artifactName: drop_Build_Nuget_Build_Nuget_Job
steps:
- task: PowerShell@2
inputs:
targetType: inline
script: |
Write-Verbose -Verbose "Version: $(Version)"
Get-ChildItem Env:\
displayName: 'Capture Environment Variables'

- task: PowerShell@2
inputs:
targetType: inline
script: |
$DestPath = New-Item -ItemType Directory -Path "$(Pipeline.Workspace)\release"
$nupkgFile = Get-ChildItem "$(Pipeline.Workspace)\Microsoft.PowerShell.Native.*.nupkg" -Recurse
if (-not $nupkgFile) {
throw "No nupkg files found in '$(Pipeline.Workspace)'"
}

Copy-Item $nupkgFile -Destination $DestPath -Recurse -Force -Verbose
Write-Verbose -Verbose "The .nupkgs below will be pushed:"
Get-ChildItem "$(Pipeline.Workspace)/release" -recurse
displayName: Download and capture nupkgs

- task: NuGetCommand@2
displayName: 'NuGet push'
condition: and(eq('${{ parameters.OfficialBuild }}', 'true'), succeeded())
inputs:
command: push
packagesToPush: '$(Pipeline.Workspace)\release\*.nupkg'
nuGetFeedType: external
publishFeedCredentials: PowerShellNuGetOrgPush

83 changes: 83 additions & 0 deletions .pipelines/templates/build-linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
parameters:
- name: ARCHITECTURE
type: string
default: 'x64'
- name: Name
type: string
default: 'Build_Linux_x64'
- name: hostArchitecture
type: string
default: 'amd64'

jobs:
- job: ${{ parameters.Name }}
pool:
type: linux
${{ if eq(parameters.ARCHITECTURE, 'osx') }}:
isCustom: true
name: Azure Pipelines
vmImage: 'macOS-latest'
${{ if eq(parameters.hostArchitecture, 'arm64') }}:
hostArchitecture: 'arm64'
displayName: Linux_${{ parameters.ARCHITECTURE }}
variables:
- name: ob_outputDirectory
value: '$(Build.ArtifactStagingDirectory)/ONEBRANCH_ARTIFACT'
- name: ob_signing_setup_enabled
value: true
- name: ARCHITECTURE
value: ${{ parameters.ARCHITECTURE }}
- name: DOTNET_SYSTEM_GLOBALIZATION_INVARIANT
value: 1
- ${{ if eq(parameters.ARCHITECTURE, 'linux-arm64') }}:
- name: ob_sdl_binskim_enabled
value: false
- name: ob_sdl_credscan_enabled
value: false
steps:
- pwsh: |
Get-ChildItem Env:\ | Out-String -Stream | Write-Verbose -Verbose
displayName: Capture environment variables

- pwsh: |
$Arch = "$(ARCHITECTURE)"
$repoRoot = '$(Build.SourcesDirectory)'
Import-Module $repoRoot\build.psm1 -Force

if ($Arch -eq 'linux-x64' -or $Arch -eq 'linux-musl-x64' -or $Arch -eq 'osx') {
Start-PSBootstrap
Write-Verbose "Starting Start-Start-BuildNativeUnixBinaries" -Verbose
Start-BuildNativeUnixBinaries
Write-Verbose "Completed Start-BuildNativeUnixBinaries" -Verbose
}
elseif ($Arch -eq 'linux-arm64') {
Start-PSBootstrap -BuildLinuxArm64
Write-Verbose "Starting Start-BuildNativeUnixBinaries" -Verbose
Start-BuildNativeUnixBinaries -BuildLinuxArm64
Write-Verbose "Completed Start-BuildNativeUnixBinaries" -Verbose
}
elseif ($Arch -eq 'linux-arm') {
Start-PSBootstrap -BuildLinuxArm
Write-Verbose "Starting Start-BuildNativeUnixBinaries" -Verbose
Start-BuildNativeUnixBinaries -BuildLinuxArm
Write-Verbose "Completed Start-BuildNativeUnixBinaries" -Verbose
}
else {
throw "Unsupported architecture: $Arch"
}

$buildOutputPath = Join-Path $RepoRoot "src/powershell-unix"

if (-not (Test-Path $(ob_outputDirectory))) {
New-Item -ItemType Directory -Path $(ob_outputDirectory) -Force -Verbose
}

Copy-Item -Path "$buildOutputPath/libpsl-native.*" -Destination "$(ob_outputDirectory)" -Force

if ($Arch -eq 'osx') {
Write-Host "##vso[artifact.upload containerfolder=drop_osx;artifactname=drop_osx]$(ob_outputDirectory)"
}
displayName: 'Build'



119 changes: 119 additions & 0 deletions .pipelines/templates/build-nuget.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
jobs:
- job: Build_Nuget_Job
pool:
type: windows
displayName: Build NuGet
variables:
- name: ob_outputDirectory
value: '$(Build.ArtifactStagingDirectory)/ONEBRANCH_ARTIFACT'
- name: ob_signing_setup_enabled
value: true
steps:
- pwsh: |
if (-not (Test-Path -Path "$(ob_outputDirectory)")) {
New-Item -ItemType Directory -Path "$(ob_outputDirectory)" | Out-Null
}
displayName: 'Create output directory'

- download: current

- pwsh: |
Get-ChildItem -Path $(Pipeline.Workspace)
displayName: 'List files in workspace'

- task: NuGetToolInstaller@0
displayName: 'Install NuGet 5.3.1'
inputs:
versionSpec: 5.3.1

- template: setVersion.yml@self

- pwsh: |
Get-ChildItem Env:\ | Out-String -Stream | Write-Verbose -Verbose
displayName: Capture environment variables

- pwsh: |
$platforms = @("drop_LinuxBuild_Build_Linux_arm64",
"drop_LinuxBuild_Build_Linux_musl_x64",
"drop_LinuxBuild_Build_Linux_x64",
"drop_LinuxBuildARM_Build_Linux_arm",
"drop_WinBuildAndSign_Build_Sign_x64",
"drop_WinBuildAndSign_Build_Sign_x86",
"drop_WinBuildAndSign_Build_Sign_x64_arm64",
"drop_osx"
)

$WindowsX64ZipPath = "$(ob_outputDirectory)/drop_WinBuildAndSign_Build_Sign_x64.zip"
$WindowsX86ZipPath = "$(ob_outputDirectory)/drop_WinBuildAndSign_Build_Sign_x86.zip"
$WindowsARMZipPath = "$(ob_outputDirectory)/drop_WinBuildAndSign_Build_Sign_arm.zip"
$WindowsARM64ZipPath = "$(ob_outputDirectory)/drop_WinBuildAndSign_Build_Sign_x64_arm64.zip"
$LinuxZipPath = "$(ob_outputDirectory)/drop_LinuxBuild_Build_Linux_x64.zip"
$LinuxARMZipPath = "$(ob_outputDirectory)/drop_LinuxBuildARM_Build_Linux_arm.zip"
$LinuxARM64ZipPath = "$(ob_outputDirectory)/drop_LinuxBuild_Build_Linux_arm64.zip"
$LinuxAlpineZipPath = "$(ob_outputDirectory)/drop_LinuxBuild_Build_Linux_musl_x64.zip"
$macOSZipPath = "$(ob_outputDirectory)/drop_osx.zip"

$symbolsRoot = "$(ob_outputDirectory)/symbols"
New-Item -ItemType Directory -Path $symbolsRoot -Force | Out-Null

$platforms | ForEach-Object {
$platform = $_
$compressedFile = "$(ob_outputDirectory)/$platform.zip"
Compress-Archive -Path "$(Pipeline.Workspace)/$platform/*" -DestinationPath $compressedFile -Force
$DestPath = Join-Path $symbolsRoot $platform
New-Item -Path $DestPath -ItemType Directory -Force | Out-Null
Get-ChildItem -Path "$(Pipeline.Workspace)/$platform/*.pdb" -Recurse | ForEach-Object {
Copy-Item -Path $_.FullName -Destination $DestPath -Force -Verbose
}
}

Import-Module $(Build.SourcesDirectory)/build.psm1 -Force
$PackageRoot = New-Item -ItemType Directory -Path $(ob_outputDirectory)\NugetPackageSrc
Start-BuildPowerShellNativePackage -PackageRoot $PackageRoot -Version $(PackageVersion) -WindowsX64ZipPath $WindowsX64ZipPath -WindowsX86ZipPath $WindowsX86ZipPath -WindowsARM64ZipPath $WindowsARM64ZipPath -LinuxZipPath $LinuxZipPath -LinuxARMZipPath $LinuxARMZipPath -LinuxARM64ZipPath $LinuxARM64ZipPath -LinuxAlpineZipPath $LinuxAlpineZipPath -macOSZipPath $macOSZipPath

Write-Verbose -Verbose "Enumerating $symbolsRoot"
Get-ChildItem -Path $symbolsRoot -Recurse

$vstsCommandString = "vso[task.setvariable variable=SymbolsPath]$symbolsRoot"
Write-Verbose -Message "$vstsCommandString" -Verbose
Write-Host -Object "##$vstsCommandString"

Write-Verbose -Verbose "Build nupkg"
New-NugetPackage -PackageRoot $PackageRoot -NuGetOutputPath '$(ob_outputDirectory)\NugetPackage'

Write-Verbose -Verbose "Cleanup output folder"
Get-ChildItem -Path "$(ob_outputDirectory)" -Exclude "NugetPackage", "symbols" | Remove-Item -Recurse -Force -Verbose

Write-Verbose -Verbose "Enumerating $(ob_outputDirectory)"
Get-ChildItem -Path "$(ob_outputDirectory)" -Recurse
displayName: 'Build NuPkg'

- pwsh: |
Get-ChildItem -Path "$(ob_outputDirectory)\NugetPackage" -Recurse | ForEach-Object {
$file = $_
Write-Verbose -Message "Found NuGet package: $($file.FullName)" -Verbose
}

Get-ChildItem -Path "$(SymbolsPath)" -Recurse | ForEach-Object {
$file = $_
Write-Verbose -Message "Found symbol file: $($file.FullName)" -Verbose
}
displayName: 'Capture Packages'

- task: PublishSymbols@2
inputs:
symbolsFolder: '$(SymbolsPath)'
searchPattern: '**/*.pdb'
indexSources: false
publishSymbols: true
symbolServerType: teamServices
detailedLog: true

- task: onebranch.pipeline.signing@1
displayName: Sign files
inputs:
command: 'sign'
cp_code: 'CP-401405'
files_to_sign: |
**\*.nupkg;
search_root: $(ob_outputDirectory)
Loading
Loading