From f4bd328a57397909bee459d36e0cb86ba4535463 Mon Sep 17 00:00:00 2001 From: Anam Navied Date: Tue, 10 Mar 2026 17:07:20 -0400 Subject: [PATCH 01/10] Update changelog, release notes, version for v1.2.0 release (#1957) --- CHANGELOG/1.2.md | 4 ++++ global.json | 2 +- src/Microsoft.PowerShell.PSResourceGet.psd1 | 4 +++- 3 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 CHANGELOG/1.2.md diff --git a/CHANGELOG/1.2.md b/CHANGELOG/1.2.md new file mode 100644 index 000000000..35912468c --- /dev/null +++ b/CHANGELOG/1.2.md @@ -0,0 +1,4 @@ +# 1.2 Changelog + +## [1.2.0](https://github.com/PowerShell/PSResourceGet/compare/v1.2.0-rc3...v1.2.0) - 2026-03-10 + diff --git a/global.json b/global.json index 9289a72a0..40cb45844 100644 --- a/global.json +++ b/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.417" + "version": "8.0.419" } } diff --git a/src/Microsoft.PowerShell.PSResourceGet.psd1 b/src/Microsoft.PowerShell.PSResourceGet.psd1 index efacb8a3e..17c341571 100644 --- a/src/Microsoft.PowerShell.PSResourceGet.psd1 +++ b/src/Microsoft.PowerShell.PSResourceGet.psd1 @@ -50,7 +50,7 @@ 'usres') PrivateData = @{ PSData = @{ - Prerelease = 'rc3' + # Prerelease = '' Tags = @('PackageManagement', 'PSEdition_Desktop', 'PSEdition_Core', @@ -60,6 +60,8 @@ ProjectUri = 'https://go.microsoft.com/fwlink/?LinkId=828955' LicenseUri = 'https://go.microsoft.com/fwlink/?LinkId=829061' ReleaseNotes = @' +## 1.2.0 + ## 1.2.0-rc3 ## Bug fix From 70957639a04358f4cda1cabbc530ad01db4e7281 Mon Sep 17 00:00:00 2001 From: Anam Navied Date: Tue, 10 Mar 2026 22:28:16 +0000 Subject: [PATCH 02/10] Merged PR 38899: Fix signing for .nupkg Fix signing for .nupkg, defining ADO variable ---- #### AI description (iteration 1) #### PR Classification Bug fix to resolve issues with signing .nupkg packages in the pipeline. #### PR Summary This pull request adjusts the pipeline steps to ensure the correct directory path is used for signing the .nupkg, while adding debugging steps to verify the directory contents before and after signing. - `/pipelines/PSResourceGet-Official.yml`: Introduces a `publishPath` variable using `Join-Path` to reliably point to the `PublishedNupkg` directory. - `/pipelines/PSResourceGet-Official.yml`: Updates registration, signing, and directory navigation steps to use `publishPath` instead of hardcoded paths, and adds commands to output folder contents for debugging. --- .pipelines/PSResourceGet-Official.yml | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/.pipelines/PSResourceGet-Official.yml b/.pipelines/PSResourceGet-Official.yml index a44d53651..9728e5b8a 100644 --- a/.pipelines/PSResourceGet-Official.yml +++ b/.pipelines/PSResourceGet-Official.yml @@ -234,25 +234,34 @@ extends: Import-Module -Name Microsoft.PowerShell.PSResourceGet -Force Set-Location "$(signOutPath)\Microsoft.PowerShell.PSResourceGet" - $null = New-Item -ItemType Directory -Path "$(signOutPath)\PublishedNupkg" -Force + $publishPath = Join-Path $(signOutPath) -ChildPath 'PublishedNupkg' - Register-PSResourceRepository -Name 'localRepo' -Uri "$(signOutPath)\PublishedNupkg" + $null = New-Item -ItemType Directory -Path $publishPath -Force + + Register-PSResourceRepository -Name 'localRepo' -Uri $publishPath Publish-PSResource -Path "$(signOutPath)\Microsoft.PowerShell.PSResourceGet" -Repository 'localRepo' -Verbose + Write-Output "##vso[task.setvariable variable=publishPath;isOutput=true]$publishPath" displayName: Create nupkg for publishing + - pwsh: | + Set-Location '$(publishPath)' + Write-Host "Contents of signOutPath:" + Get-ChildItem '$(publishPath)' -Recurse + displayName: Find Nupkg Pre Signing + - task: onebranch.pipeline.signing@1 displayName: Sign nupkg inputs: command: 'sign' signing_profile: external_distribution files_to_sign: '**\*.nupkg' - search_root: "$(signOutPath)\PublishedNupkg" + search_root: '$(publishPath)' - pwsh: | - Set-Location "$(signOutPath)\PublishedNupkg" + Set-Location '$(publishPath)' Write-Host "Contents of signOutPath:" - Get-ChildItem "$(signOutPath)" -Recurse - displayName: Find Nupkg + Get-ChildItem '$(publishPath)' -Recurse + displayName: Find Nupkg Post Signing - task: CopyFiles@2 displayName: "Copy nupkg to ob_outputDirectory - '$(ob_outputDirectory)'" From 63b258a9e162c6b45977500ec4cbf4563dd67e8b Mon Sep 17 00:00:00 2001 From: Anam Navied Date: Tue, 10 Mar 2026 23:02:24 +0000 Subject: [PATCH 03/10] Merged PR 38901: Remove isOutput on variable being set and update publishPath var reference Remove isOutput on variable being set and update publishPath var reference ---- #### AI description (iteration 1) #### PR Classification This pull request is a pipeline fix and code cleanup, adjusting variable setting and reference for improved consistency. #### PR Summary The changes remove the "isOutput=true" flag when setting the "publishPath" variable and update the file copy step to correctly reference the "publishPath". - `/.pipelines/PSResourceGet-Official.yml`: Removed the "isOutput=true" from the variable setting command. - `/.pipelines/PSResourceGet-Official.yml`: Updated the file copy task to use `publishPath` instead of `signOutPath` for selecting the published package. --- .pipelines/PSResourceGet-Official.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pipelines/PSResourceGet-Official.yml b/.pipelines/PSResourceGet-Official.yml index 9728e5b8a..8558e7d9a 100644 --- a/.pipelines/PSResourceGet-Official.yml +++ b/.pipelines/PSResourceGet-Official.yml @@ -240,7 +240,7 @@ extends: Register-PSResourceRepository -Name 'localRepo' -Uri $publishPath Publish-PSResource -Path "$(signOutPath)\Microsoft.PowerShell.PSResourceGet" -Repository 'localRepo' -Verbose - Write-Output "##vso[task.setvariable variable=publishPath;isOutput=true]$publishPath" + Write-Output "##vso[task.setvariable variable=publishPath]$publishPath" displayName: Create nupkg for publishing - pwsh: | @@ -266,7 +266,7 @@ extends: - task: CopyFiles@2 displayName: "Copy nupkg to ob_outputDirectory - '$(ob_outputDirectory)'" inputs: - Contents: $(signOutPath)\PublishedNupkg\Microsoft.PowerShell.PSResourceGet.*.nupkg + Contents: $(publishPath)\Microsoft.PowerShell.PSResourceGet.*.nupkg TargetFolder: $(ob_outputDirectory) - pwsh: | From 9289da13a78a05b08c53756194816cf79d4584c6 Mon Sep 17 00:00:00 2001 From: Anam Navied Date: Wed, 11 Mar 2026 17:47:11 +0000 Subject: [PATCH 04/10] Merged PR 38916: Add ob_restore_phase to steps in packaging job Add ob_restore_phase to steps in packaging job --- .pipelines/PSResourceGet-Official.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.pipelines/PSResourceGet-Official.yml b/.pipelines/PSResourceGet-Official.yml index 8558e7d9a..e4ea3ba1e 100644 --- a/.pipelines/PSResourceGet-Official.yml +++ b/.pipelines/PSResourceGet-Official.yml @@ -209,6 +209,8 @@ extends: type: windows steps: - checkout: self + env: + ob_restore_phase: true # Set ob_restore_phase to run this step before '🔒 Setup Signing' step. - pwsh: | if (-not (Test-Path $(repoRoot)/.config/tsaoptions.json)) { @@ -216,18 +218,24 @@ extends: throw "tsaoptions.json does not exist under $(repoRoot)/.config" } displayName: Test if tsaoptions.json exists + env: + ob_restore_phase: true # Set ob_restore_phase to run this step before '🔒 Setup Signing' step. - task: DownloadPipelineArtifact@2 displayName: 'Download build files' inputs: targetPath: $(signOutPath) artifact: drop_stagebuild_jobbuild + env: + ob_restore_phase: true # Set ob_restore_phase to run this step before '🔒 Setup Signing' step. - pwsh: | Set-Location "$(signOutPath)" Write-Host "Contents of signOutPath:" Get-ChildItem $(signOutPath) -Recurse displayName: Capture artifacts directory structure + env: + ob_restore_phase: true # Set ob_restore_phase to run this step before '🔒 Setup Signing' step. - pwsh: | # This need to be done before set-location so the module from PSHome is loaded @@ -242,12 +250,16 @@ extends: Publish-PSResource -Path "$(signOutPath)\Microsoft.PowerShell.PSResourceGet" -Repository 'localRepo' -Verbose Write-Output "##vso[task.setvariable variable=publishPath]$publishPath" displayName: Create nupkg for publishing + env: + ob_restore_phase: true # Set ob_restore_phase to run this step before '🔒 Setup Signing' step. - pwsh: | Set-Location '$(publishPath)' Write-Host "Contents of signOutPath:" Get-ChildItem '$(publishPath)' -Recurse displayName: Find Nupkg Pre Signing + env: + ob_restore_phase: true # Set ob_restore_phase to run this step before '🔒 Setup Signing' step. - task: onebranch.pipeline.signing@1 displayName: Sign nupkg From c8904281051651e27a827079fce9483b8fea3d76 Mon Sep 17 00:00:00 2001 From: Anam Navied Date: Tue, 10 Mar 2026 22:28:16 +0000 Subject: [PATCH 05/10] Merged PR 38899: Fix signing for .nupkg Fix signing for .nupkg, defining ADO variable ---- #### AI description (iteration 1) #### PR Classification Bug fix to resolve issues with signing .nupkg packages in the pipeline. #### PR Summary This pull request adjusts the pipeline steps to ensure the correct directory path is used for signing the .nupkg, while adding debugging steps to verify the directory contents before and after signing. - `/pipelines/PSResourceGet-Official.yml`: Introduces a `publishPath` variable using `Join-Path` to reliably point to the `PublishedNupkg` directory. - `/pipelines/PSResourceGet-Official.yml`: Updates registration, signing, and directory navigation steps to use `publishPath` instead of hardcoded paths, and adds commands to output folder contents for debugging. --- .pipelines/PSResourceGet-Official.yml | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/.pipelines/PSResourceGet-Official.yml b/.pipelines/PSResourceGet-Official.yml index a44d53651..9728e5b8a 100644 --- a/.pipelines/PSResourceGet-Official.yml +++ b/.pipelines/PSResourceGet-Official.yml @@ -234,25 +234,34 @@ extends: Import-Module -Name Microsoft.PowerShell.PSResourceGet -Force Set-Location "$(signOutPath)\Microsoft.PowerShell.PSResourceGet" - $null = New-Item -ItemType Directory -Path "$(signOutPath)\PublishedNupkg" -Force + $publishPath = Join-Path $(signOutPath) -ChildPath 'PublishedNupkg' - Register-PSResourceRepository -Name 'localRepo' -Uri "$(signOutPath)\PublishedNupkg" + $null = New-Item -ItemType Directory -Path $publishPath -Force + + Register-PSResourceRepository -Name 'localRepo' -Uri $publishPath Publish-PSResource -Path "$(signOutPath)\Microsoft.PowerShell.PSResourceGet" -Repository 'localRepo' -Verbose + Write-Output "##vso[task.setvariable variable=publishPath;isOutput=true]$publishPath" displayName: Create nupkg for publishing + - pwsh: | + Set-Location '$(publishPath)' + Write-Host "Contents of signOutPath:" + Get-ChildItem '$(publishPath)' -Recurse + displayName: Find Nupkg Pre Signing + - task: onebranch.pipeline.signing@1 displayName: Sign nupkg inputs: command: 'sign' signing_profile: external_distribution files_to_sign: '**\*.nupkg' - search_root: "$(signOutPath)\PublishedNupkg" + search_root: '$(publishPath)' - pwsh: | - Set-Location "$(signOutPath)\PublishedNupkg" + Set-Location '$(publishPath)' Write-Host "Contents of signOutPath:" - Get-ChildItem "$(signOutPath)" -Recurse - displayName: Find Nupkg + Get-ChildItem '$(publishPath)' -Recurse + displayName: Find Nupkg Post Signing - task: CopyFiles@2 displayName: "Copy nupkg to ob_outputDirectory - '$(ob_outputDirectory)'" From be743d53997cf508af09a22f0c291c3f140389f7 Mon Sep 17 00:00:00 2001 From: Anam Navied Date: Tue, 10 Mar 2026 23:02:24 +0000 Subject: [PATCH 06/10] Merged PR 38901: Remove isOutput on variable being set and update publishPath var reference Remove isOutput on variable being set and update publishPath var reference ---- #### AI description (iteration 1) #### PR Classification This pull request is a pipeline fix and code cleanup, adjusting variable setting and reference for improved consistency. #### PR Summary The changes remove the "isOutput=true" flag when setting the "publishPath" variable and update the file copy step to correctly reference the "publishPath". - `/.pipelines/PSResourceGet-Official.yml`: Removed the "isOutput=true" from the variable setting command. - `/.pipelines/PSResourceGet-Official.yml`: Updated the file copy task to use `publishPath` instead of `signOutPath` for selecting the published package. --- .pipelines/PSResourceGet-Official.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pipelines/PSResourceGet-Official.yml b/.pipelines/PSResourceGet-Official.yml index 9728e5b8a..8558e7d9a 100644 --- a/.pipelines/PSResourceGet-Official.yml +++ b/.pipelines/PSResourceGet-Official.yml @@ -240,7 +240,7 @@ extends: Register-PSResourceRepository -Name 'localRepo' -Uri $publishPath Publish-PSResource -Path "$(signOutPath)\Microsoft.PowerShell.PSResourceGet" -Repository 'localRepo' -Verbose - Write-Output "##vso[task.setvariable variable=publishPath;isOutput=true]$publishPath" + Write-Output "##vso[task.setvariable variable=publishPath]$publishPath" displayName: Create nupkg for publishing - pwsh: | @@ -266,7 +266,7 @@ extends: - task: CopyFiles@2 displayName: "Copy nupkg to ob_outputDirectory - '$(ob_outputDirectory)'" inputs: - Contents: $(signOutPath)\PublishedNupkg\Microsoft.PowerShell.PSResourceGet.*.nupkg + Contents: $(publishPath)\Microsoft.PowerShell.PSResourceGet.*.nupkg TargetFolder: $(ob_outputDirectory) - pwsh: | From 4558c310d0bb60d4ff8b79cabe06ef72b0354e69 Mon Sep 17 00:00:00 2001 From: Anam Navied Date: Wed, 11 Mar 2026 17:47:11 +0000 Subject: [PATCH 07/10] Merged PR 38916: Add ob_restore_phase to steps in packaging job Add ob_restore_phase to steps in packaging job --- .pipelines/PSResourceGet-Official.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.pipelines/PSResourceGet-Official.yml b/.pipelines/PSResourceGet-Official.yml index 8558e7d9a..e4ea3ba1e 100644 --- a/.pipelines/PSResourceGet-Official.yml +++ b/.pipelines/PSResourceGet-Official.yml @@ -209,6 +209,8 @@ extends: type: windows steps: - checkout: self + env: + ob_restore_phase: true # Set ob_restore_phase to run this step before '🔒 Setup Signing' step. - pwsh: | if (-not (Test-Path $(repoRoot)/.config/tsaoptions.json)) { @@ -216,18 +218,24 @@ extends: throw "tsaoptions.json does not exist under $(repoRoot)/.config" } displayName: Test if tsaoptions.json exists + env: + ob_restore_phase: true # Set ob_restore_phase to run this step before '🔒 Setup Signing' step. - task: DownloadPipelineArtifact@2 displayName: 'Download build files' inputs: targetPath: $(signOutPath) artifact: drop_stagebuild_jobbuild + env: + ob_restore_phase: true # Set ob_restore_phase to run this step before '🔒 Setup Signing' step. - pwsh: | Set-Location "$(signOutPath)" Write-Host "Contents of signOutPath:" Get-ChildItem $(signOutPath) -Recurse displayName: Capture artifacts directory structure + env: + ob_restore_phase: true # Set ob_restore_phase to run this step before '🔒 Setup Signing' step. - pwsh: | # This need to be done before set-location so the module from PSHome is loaded @@ -242,12 +250,16 @@ extends: Publish-PSResource -Path "$(signOutPath)\Microsoft.PowerShell.PSResourceGet" -Repository 'localRepo' -Verbose Write-Output "##vso[task.setvariable variable=publishPath]$publishPath" displayName: Create nupkg for publishing + env: + ob_restore_phase: true # Set ob_restore_phase to run this step before '🔒 Setup Signing' step. - pwsh: | Set-Location '$(publishPath)' Write-Host "Contents of signOutPath:" Get-ChildItem '$(publishPath)' -Recurse displayName: Find Nupkg Pre Signing + env: + ob_restore_phase: true # Set ob_restore_phase to run this step before '🔒 Setup Signing' step. - task: onebranch.pipeline.signing@1 displayName: Sign nupkg From 7f7dff040ead7fc8019f0bdeab111c7be1e3c1a0 Mon Sep 17 00:00:00 2001 From: Anam Navied Date: Wed, 11 Mar 2026 16:13:03 -0400 Subject: [PATCH 08/10] Revert "Merged PR 38916: Add ob_restore_phase to steps in packaging job" This reverts commit 4558c310d0bb60d4ff8b79cabe06ef72b0354e69. --- .pipelines/PSResourceGet-Official.yml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/.pipelines/PSResourceGet-Official.yml b/.pipelines/PSResourceGet-Official.yml index e4ea3ba1e..8558e7d9a 100644 --- a/.pipelines/PSResourceGet-Official.yml +++ b/.pipelines/PSResourceGet-Official.yml @@ -209,8 +209,6 @@ extends: type: windows steps: - checkout: self - env: - ob_restore_phase: true # Set ob_restore_phase to run this step before '🔒 Setup Signing' step. - pwsh: | if (-not (Test-Path $(repoRoot)/.config/tsaoptions.json)) { @@ -218,24 +216,18 @@ extends: throw "tsaoptions.json does not exist under $(repoRoot)/.config" } displayName: Test if tsaoptions.json exists - env: - ob_restore_phase: true # Set ob_restore_phase to run this step before '🔒 Setup Signing' step. - task: DownloadPipelineArtifact@2 displayName: 'Download build files' inputs: targetPath: $(signOutPath) artifact: drop_stagebuild_jobbuild - env: - ob_restore_phase: true # Set ob_restore_phase to run this step before '🔒 Setup Signing' step. - pwsh: | Set-Location "$(signOutPath)" Write-Host "Contents of signOutPath:" Get-ChildItem $(signOutPath) -Recurse displayName: Capture artifacts directory structure - env: - ob_restore_phase: true # Set ob_restore_phase to run this step before '🔒 Setup Signing' step. - pwsh: | # This need to be done before set-location so the module from PSHome is loaded @@ -250,16 +242,12 @@ extends: Publish-PSResource -Path "$(signOutPath)\Microsoft.PowerShell.PSResourceGet" -Repository 'localRepo' -Verbose Write-Output "##vso[task.setvariable variable=publishPath]$publishPath" displayName: Create nupkg for publishing - env: - ob_restore_phase: true # Set ob_restore_phase to run this step before '🔒 Setup Signing' step. - pwsh: | Set-Location '$(publishPath)' Write-Host "Contents of signOutPath:" Get-ChildItem '$(publishPath)' -Recurse displayName: Find Nupkg Pre Signing - env: - ob_restore_phase: true # Set ob_restore_phase to run this step before '🔒 Setup Signing' step. - task: onebranch.pipeline.signing@1 displayName: Sign nupkg From 63e27a7415cfe5f2db7f19566e87ac33e1cc641a Mon Sep 17 00:00:00 2001 From: Anam Navied Date: Wed, 11 Mar 2026 16:13:03 -0400 Subject: [PATCH 09/10] Revert "Merged PR 38901: Remove isOutput on variable being set and update publishPath var reference" This reverts commit be743d53997cf508af09a22f0c291c3f140389f7. --- .pipelines/PSResourceGet-Official.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pipelines/PSResourceGet-Official.yml b/.pipelines/PSResourceGet-Official.yml index 8558e7d9a..9728e5b8a 100644 --- a/.pipelines/PSResourceGet-Official.yml +++ b/.pipelines/PSResourceGet-Official.yml @@ -240,7 +240,7 @@ extends: Register-PSResourceRepository -Name 'localRepo' -Uri $publishPath Publish-PSResource -Path "$(signOutPath)\Microsoft.PowerShell.PSResourceGet" -Repository 'localRepo' -Verbose - Write-Output "##vso[task.setvariable variable=publishPath]$publishPath" + Write-Output "##vso[task.setvariable variable=publishPath;isOutput=true]$publishPath" displayName: Create nupkg for publishing - pwsh: | @@ -266,7 +266,7 @@ extends: - task: CopyFiles@2 displayName: "Copy nupkg to ob_outputDirectory - '$(ob_outputDirectory)'" inputs: - Contents: $(publishPath)\Microsoft.PowerShell.PSResourceGet.*.nupkg + Contents: $(signOutPath)\PublishedNupkg\Microsoft.PowerShell.PSResourceGet.*.nupkg TargetFolder: $(ob_outputDirectory) - pwsh: | From 75dc87267270565e04a9b7a7aa98426f010e2ae3 Mon Sep 17 00:00:00 2001 From: Anam Navied Date: Wed, 11 Mar 2026 16:13:03 -0400 Subject: [PATCH 10/10] Revert "Merged PR 38899: Fix signing for .nupkg" This reverts commit c8904281051651e27a827079fce9483b8fea3d76. --- .pipelines/PSResourceGet-Official.yml | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/.pipelines/PSResourceGet-Official.yml b/.pipelines/PSResourceGet-Official.yml index 9728e5b8a..a44d53651 100644 --- a/.pipelines/PSResourceGet-Official.yml +++ b/.pipelines/PSResourceGet-Official.yml @@ -234,34 +234,25 @@ extends: Import-Module -Name Microsoft.PowerShell.PSResourceGet -Force Set-Location "$(signOutPath)\Microsoft.PowerShell.PSResourceGet" - $publishPath = Join-Path $(signOutPath) -ChildPath 'PublishedNupkg' + $null = New-Item -ItemType Directory -Path "$(signOutPath)\PublishedNupkg" -Force - $null = New-Item -ItemType Directory -Path $publishPath -Force - - Register-PSResourceRepository -Name 'localRepo' -Uri $publishPath + Register-PSResourceRepository -Name 'localRepo' -Uri "$(signOutPath)\PublishedNupkg" Publish-PSResource -Path "$(signOutPath)\Microsoft.PowerShell.PSResourceGet" -Repository 'localRepo' -Verbose - Write-Output "##vso[task.setvariable variable=publishPath;isOutput=true]$publishPath" displayName: Create nupkg for publishing - - pwsh: | - Set-Location '$(publishPath)' - Write-Host "Contents of signOutPath:" - Get-ChildItem '$(publishPath)' -Recurse - displayName: Find Nupkg Pre Signing - - task: onebranch.pipeline.signing@1 displayName: Sign nupkg inputs: command: 'sign' signing_profile: external_distribution files_to_sign: '**\*.nupkg' - search_root: '$(publishPath)' + search_root: "$(signOutPath)\PublishedNupkg" - pwsh: | - Set-Location '$(publishPath)' + Set-Location "$(signOutPath)\PublishedNupkg" Write-Host "Contents of signOutPath:" - Get-ChildItem '$(publishPath)' -Recurse - displayName: Find Nupkg Post Signing + Get-ChildItem "$(signOutPath)" -Recurse + displayName: Find Nupkg - task: CopyFiles@2 displayName: "Copy nupkg to ob_outputDirectory - '$(ob_outputDirectory)'"