From c7982f3a93b145d951dde05e90f1da37aebadba6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 11 Nov 2025 16:28:54 +0000 Subject: [PATCH 1/4] Initial plan From 84829ff614ed7f95cc65ebef7f04e064ce15f4cd Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 11 Nov 2025 16:34:54 +0000 Subject: [PATCH 2/4] Refactor signtool.exe discovery and add manual trigger with skip publish option Co-authored-by: turbobobbytraykov <3358260+turbobobbytraykov@users.noreply.github.com> --- azure-pipelines/build-and-publish.yml | 38 ++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/azure-pipelines/build-and-publish.yml b/azure-pipelines/build-and-publish.yml index 4426eaa..2ab4504 100644 --- a/azure-pipelines/build-and-publish.yml +++ b/azure-pipelines/build-and-publish.yml @@ -2,9 +2,20 @@ trigger: tags: include: - '*' + branches: + include: + - '*' + # This pipeline is meant to build & deploy upon tagging. It's not meant to be a part of PR validation. pr: none +# Enable manual trigger with parameter to skip publishing +parameters: +- name: skipPublish + displayName: 'Skip NuGet Publishing (for testing)' + type: boolean + default: true + name: $(Build.SourceBranchName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r) variables: @@ -65,7 +76,31 @@ stages: $dllFolder = "$(Build.SourcesDirectory)\bin\$(buildConfiguration)\net9.0" Write-Host "Signing DLLs in folder: $dllFolder" - $signtoolPath = "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64\signtool.exe" + # Find the latest signtool.exe + Write-Host "##[section]Starting search for signtool.exe at $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss.fff')" + + $signtoolPath = $null + $searchPaths = @( + "C:\Program Files (x86)\Windows Kits\10\bin\*\x64\signtool.exe", + "C:\Program Files (x86)\Windows Kits\10\bin\*\x86\signtool.exe", + "C:\Program Files (x86)\Microsoft SDKs\Windows\*\bin\*\signtool.exe", + "C:\Program Files (x86)\Microsoft SDKs\Windows\*\bin\signtool.exe" + ) + + foreach ($searchPath in $searchPaths) { + $foundPaths = Get-ChildItem -Path $searchPath -ErrorAction SilentlyContinue | Sort-Object -Property FullName -Descending + if ($foundPaths) { + $signtoolPath = $foundPaths[0].FullName + break + } + } + + if (-not $signtoolPath) { + Write-Error "signtool.exe not found in any of the well-known locations" + exit 1 + } + + Write-Host "##[section]Found signtool.exe at $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss.fff')" Write-Host "Using signtool at: $signtoolPath" $dllFiles = Get-ChildItem -Path $dllFolder -Filter *.dll -Recurse @@ -116,6 +151,7 @@ stages: displayName: 'Publish NuGet Package as Build Artifact' - task: NuGetCommand@2 + condition: and(succeeded(), not(${{ parameters.skipPublish }})) inputs: command: 'push' packagesToPush: '$(Build.ArtifactStagingDirectory)/nuget/*.nupkg' From b6ed7080f3bec8b6f6e905d4fcead470b33d83c3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 11 Nov 2025 16:46:46 +0000 Subject: [PATCH 3/4] Set releaseTag to '0.0.0.0' for testing purposes Co-authored-by: turbobobbytraykov <3358260+turbobobbytraykov@users.noreply.github.com> --- azure-pipelines/build-and-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines/build-and-publish.yml b/azure-pipelines/build-and-publish.yml index 2ab4504..1c2be1c 100644 --- a/azure-pipelines/build-and-publish.yml +++ b/azure-pipelines/build-and-publish.yml @@ -27,7 +27,7 @@ variables: - name: buildConfiguration value: Release - name: releaseTag - value: $(Build.SourceBranchName) + value: '0.0.0.0' stages: - stage: BuildAndPublish From 5dbf734d53539fe447788ceffc1337d2d6459b50 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 11 Nov 2025 16:54:05 +0000 Subject: [PATCH 4/4] Remove workflow dispatch and releaseTag changes, keep only signtool.exe discovery improvements Co-authored-by: turbobobbytraykov <3358260+turbobobbytraykov@users.noreply.github.com> --- azure-pipelines/build-and-publish.yml | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/azure-pipelines/build-and-publish.yml b/azure-pipelines/build-and-publish.yml index 1c2be1c..453f46d 100644 --- a/azure-pipelines/build-and-publish.yml +++ b/azure-pipelines/build-and-publish.yml @@ -2,20 +2,9 @@ trigger: tags: include: - '*' - branches: - include: - - '*' - # This pipeline is meant to build & deploy upon tagging. It's not meant to be a part of PR validation. pr: none -# Enable manual trigger with parameter to skip publishing -parameters: -- name: skipPublish - displayName: 'Skip NuGet Publishing (for testing)' - type: boolean - default: true - name: $(Build.SourceBranchName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r) variables: @@ -27,7 +16,7 @@ variables: - name: buildConfiguration value: Release - name: releaseTag - value: '0.0.0.0' + value: $(Build.SourceBranchName) stages: - stage: BuildAndPublish @@ -151,7 +140,6 @@ stages: displayName: 'Publish NuGet Package as Build Artifact' - task: NuGetCommand@2 - condition: and(succeeded(), not(${{ parameters.skipPublish }})) inputs: command: 'push' packagesToPush: '$(Build.ArtifactStagingDirectory)/nuget/*.nupkg'