From de3b137862a400ea9aadada3f62aafdf157ec534 Mon Sep 17 00:00:00 2001 From: Matthew John Cheetham Date: Thu, 22 Jan 2026 12:44:51 +0000 Subject: [PATCH 1/3] release: cleanup CodeSignSummary.md files from Windows zips Remove the cruft code signing summary file from the Windows payload zips. There's nothing interesting in this file anyway. Signed-off-by: Matthew John Cheetham --- .azure-pipelines/release.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.azure-pipelines/release.yml b/.azure-pipelines/release.yml index 9c0a36e60..797a42d73 100644 --- a/.azure-pipelines/release.yml +++ b/.azure-pipelines/release.yml @@ -197,6 +197,12 @@ extends: "Parameters": {} } ] + - task: PowerShell@2 + displayName: 'Clean up code signing artifacts' + inputs: + targetType: inline + script: | + Remove-Item "$(Build.ArtifactStagingDirectory)\payload\CodeSignSummary-*.md" - task: PowerShell@2 displayName: 'Build installers' inputs: From faaa3b13e9b60ce5b0970eaf58e79448bd8e9df0 Mon Sep 17 00:00:00 2001 From: Matthew John Cheetham Date: Thu, 22 Jan 2026 12:54:01 +0000 Subject: [PATCH 2/3] Installer.Windows: fix up installer output path When building locally the gcm(user)-$RID-$VERSION.exe installer files were being written to the PayloadPath, rather than the OutputPath. Also, since we're now specifying a RID for all invocations of the project file, we should disable the appending of the RID to the OutputPath variable - we already have the RID as part of the PayloadPath (for keeping binaries separated by RID) and the resulting installer filenames also contain the RID anyway. Signed-off-by: Matthew John Cheetham --- .github/workflows/continuous-integration.yml | 2 +- src/windows/Installer.Windows/Installer.Windows.csproj | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 7bb45f26a..94f275915 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -51,7 +51,7 @@ jobs: shell: bash run: | mkdir -p artifacts/bin - mv out/windows/Installer.Windows/bin/Release/net472/${{ matrix.runtime }}/gcm*.exe artifacts/ + mv out/windows/Installer.Windows/bin/Release/net472/gcm*.exe artifacts/ mv out/windows/Installer.Windows/bin/Release/net472/${{ matrix.runtime }} artifacts/bin/ cp out/windows/Installer.Windows/bin/Release/net472/${{ matrix.runtime }}.sym/* artifacts/bin/${{ matrix.runtime }}/ diff --git a/src/windows/Installer.Windows/Installer.Windows.csproj b/src/windows/Installer.Windows/Installer.Windows.csproj index eae3631f0..ec678fe5f 100644 --- a/src/windows/Installer.Windows/Installer.Windows.csproj +++ b/src/windows/Installer.Windows/Installer.Windows.csproj @@ -13,8 +13,11 @@ net472 false false - $(PlatformOutPath)Installer.Windows\bin\$(Configuration)\net472\$(RuntimeIdentifier) + $(PlatformOutPath)Installer.Windows\bin\$(Configuration)\net472\$(RuntimeIdentifier)\ 6.3.1 + + false From 2d4143e40e93e2e9b4d5cec2af8e6174836c1cfc Mon Sep 17 00:00:00 2001 From: Matthew John Cheetham Date: Thu, 22 Jan 2026 13:05:17 +0000 Subject: [PATCH 3/3] windows/layout.ps1: more robust handling of inputs We assume the input paths given to the Windows layout.ps1 scripts do not have a trailing slash - we should make sure this is the case before proceeding and doing path-math with that. Signed-off-by: Matthew John Cheetham --- src/windows/Installer.Windows/layout.ps1 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/windows/Installer.Windows/layout.ps1 b/src/windows/Installer.Windows/layout.ps1 index 3fc43ab36..3b1624896 100644 --- a/src/windows/Installer.Windows/layout.ps1 +++ b/src/windows/Installer.Windows/layout.ps1 @@ -1,6 +1,10 @@ # Inputs param ([Parameter(Mandatory)] $Configuration, [Parameter(Mandatory)] $Output, $RuntimeIdentifier, $SymbolOutput) +# Trim trailing slashes from output paths +$Output = $Output.TrimEnd('\','/') +$SymbolOutput = $SymbolOutput.TrimEnd('\','/') + Write-Output "Output: $Output" # Determine a runtime if one was not provided