From 4ef51e44e946c1b2327646bfc14110f5fd3428b2 Mon Sep 17 00:00:00 2001 From: Dongbo Wang Date: Tue, 9 Jan 2024 10:27:09 -0800 Subject: [PATCH 1/7] [release/v7.3.11] Fix the tab completion tests --- test/powershell/Host/TabCompletion/TabCompletion.Tests.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/powershell/Host/TabCompletion/TabCompletion.Tests.ps1 b/test/powershell/Host/TabCompletion/TabCompletion.Tests.ps1 index a0af18fb7f7..484bb3d222c 100644 --- a/test/powershell/Host/TabCompletion/TabCompletion.Tests.ps1 +++ b/test/powershell/Host/TabCompletion/TabCompletion.Tests.ps1 @@ -989,7 +989,7 @@ ConstructorTestClass(int i, bool b) Context "Cmdlet name completion" { BeforeAll { $testCases = @( - @{ inputStr = "get-c*item"; expected = "Get-ChildItem" } + @{ inputStr = "get-ch*item"; expected = "Get-ChildItem" } @{ inputStr = "set-alia?"; expected = "Set-Alias" } @{ inputStr = "s*-alias"; expected = "Set-Alias" } @{ inputStr = "se*-alias"; expected = "Set-Alias" } @@ -1646,7 +1646,7 @@ dir -Recurse ` } It "Test complete module file name" { - $inputStr = "using module test" + $inputStr = "using module testm" $res = TabExpansion2 -inputScript $inputStr -cursorColumn $inputStr.Length $res.CompletionMatches | Should -HaveCount 1 $res.CompletionMatches[0].CompletionText | Should -BeExactly ".${separator}testModule.psm1" From d344a885c1bfb8f8f741807c8bbe2ea5357994ab Mon Sep 17 00:00:00 2001 From: Dongbo Wang Date: Tue, 9 Jan 2024 10:51:36 -0800 Subject: [PATCH 2/7] [release/v7.3.11] Remove the `ref` folder before running compliance --- .../azureDevOps/templates/compliance/apiscan.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/releaseBuild/azureDevOps/templates/compliance/apiscan.yml b/tools/releaseBuild/azureDevOps/templates/compliance/apiscan.yml index d0fa97972ce..fe3b917b512 100644 --- a/tools/releaseBuild/azureDevOps/templates/compliance/apiscan.yml +++ b/tools/releaseBuild/azureDevOps/templates/compliance/apiscan.yml @@ -58,6 +58,11 @@ jobs: $OutputFolder = Split-Path (Get-PSOutput) Write-Host "##vso[task.setvariable variable=BinDir]$OutputFolder" + + Write-Verbose -Verbose -Message "Deleting ref folder from output folder" + if (Test-Path $OutputFolder/ref) { + Remove-Item -Recurse -Force $OutputFolder/ref + } workingDirectory: '$(Build.SourcesDirectory)' displayName: 'Build PowerShell Source' From 5031deaea1045ea209c59e54b048a5b62c79c540 Mon Sep 17 00:00:00 2001 From: Dongbo Wang Date: Tue, 9 Jan 2024 11:13:47 -0800 Subject: [PATCH 3/7] [release/v7.3.11] Set the `ollForwardOnNoCandidateFx` in `runtimeconfig.json` to roll forward only on minor and patch versions --- .../runtimeconfig.template.json | 4 ++-- src/powershell-unix/runtimeconfig.template.json | 3 ++- src/powershell-win-core/runtimeconfig.template.json | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Microsoft.PowerShell.GlobalTool.Shim/runtimeconfig.template.json b/src/Microsoft.PowerShell.GlobalTool.Shim/runtimeconfig.template.json index 8ba6dc2eba9..4a5e3e367ec 100644 --- a/src/Microsoft.PowerShell.GlobalTool.Shim/runtimeconfig.template.json +++ b/src/Microsoft.PowerShell.GlobalTool.Shim/runtimeconfig.template.json @@ -1,4 +1,4 @@ -// This is required to roll forward to runtime 3.x when 2.x is not installed +// This is required to roll forward to supported minor.patch versions of the runtime. { - "rollForwardOnNoCandidateFx": 2 + "rollForwardOnNoCandidateFx": 1 } diff --git a/src/powershell-unix/runtimeconfig.template.json b/src/powershell-unix/runtimeconfig.template.json index a3075303ad5..4a5e3e367ec 100644 --- a/src/powershell-unix/runtimeconfig.template.json +++ b/src/powershell-unix/runtimeconfig.template.json @@ -1,3 +1,4 @@ +// This is required to roll forward to supported minor.patch versions of the runtime. { - "rollForwardOnNoCandidateFx": 2 + "rollForwardOnNoCandidateFx": 1 } diff --git a/src/powershell-win-core/runtimeconfig.template.json b/src/powershell-win-core/runtimeconfig.template.json index a3075303ad5..4a5e3e367ec 100644 --- a/src/powershell-win-core/runtimeconfig.template.json +++ b/src/powershell-win-core/runtimeconfig.template.json @@ -1,3 +1,4 @@ +// This is required to roll forward to supported minor.patch versions of the runtime. { - "rollForwardOnNoCandidateFx": 2 + "rollForwardOnNoCandidateFx": 1 } From 67a4690e1035e5330774b4b60c29e501d7d41d46 Mon Sep 17 00:00:00 2001 From: Dongbo Wang Date: Tue, 9 Jan 2024 11:15:26 -0800 Subject: [PATCH 4/7] [release/v7.3.11] Back port three build changes to `apiscan.yml` (#21035) --- .../templates/compliance/apiscan.yml | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/tools/releaseBuild/azureDevOps/templates/compliance/apiscan.yml b/tools/releaseBuild/azureDevOps/templates/compliance/apiscan.yml index fe3b917b512..b585903ce76 100644 --- a/tools/releaseBuild/azureDevOps/templates/compliance/apiscan.yml +++ b/tools/releaseBuild/azureDevOps/templates/compliance/apiscan.yml @@ -17,6 +17,9 @@ jobs: - name: branchCounter value: $[counter(variables['branchCounterKey'], 1)] - group: DotNetPrivateBuildAccess + - group: Azure Blob variable group + - group: ReleasePipelineSecrets + - group: AzDevOpsArtifacts pool: name: PowerShell1ES @@ -33,6 +36,10 @@ jobs: CreateJson: yes UseJson: no + - template: ../insert-nuget-config-azfeed.yml + parameters: + repoRoot: '$(Build.SourcesDirectory)' + - pwsh: | Import-Module .\build.psm1 -force Start-PSBootstrap @@ -51,6 +58,29 @@ jobs: displayName: Install dotnet-symbol retryCountOnTaskFailure: 2 + - pwsh: | + Import-module '$(BUILD.SOURCESDIRECTORY)/build.psm1' + Install-AzCopy + displayName: Install AzCopy + retryCountOnTaskFailure: 2 + + - pwsh: | + Import-module '$(BUILD.SOURCESDIRECTORY)/build.psm1' + $azcopy = Find-AzCopy + Write-Verbose -Verbose "Found AzCopy: $azcopy" + + $winverifySymbolsPath = New-Item -ItemType Directory -Path '$(System.ArtifactsDirectory)/winverify-symbols' -Force + Write-Host "##vso[task.setvariable variable=winverifySymbolsPath]$winverifySymbolsPath" + + & $azcopy cp https://$(StorageAccount).blob.core.windows.net/winverify-private $winverifySymbolsPath --recursive + + Get-ChildItem $winverifySymbolsPath -Recurse | Out-String | Write-Verbose -Verbose + + displayName: Download winverify-private Artifacts + retryCountOnTaskFailure: 2 + env: + AZCOPY_AUTO_LOGIN_TYPE: MSI + - pwsh: | Import-Module .\build.psm1 -force Find-DotNet @@ -63,6 +93,39 @@ jobs: if (Test-Path $OutputFolder/ref) { Remove-Item -Recurse -Force $OutputFolder/ref } + + $surrogateFileTemplate = @' + + + + + + + + {path_to_symbol} + + + + + + + + + + + '@ + + $pathToDll = Get-ChildItem -Path $OutputFolder -Filter 'getfilesiginforedist.dll' -Recurse | Where-Object { $_.fullname -like '*win-x64*' } | Select-Object -First 1 -ExpandProperty FullName + + $surrogateFile = Join-Path $(Pipeline.Workspace) 'APIScanSurrogates.xml' + $surrogateFileContent = $surrogateFileTemplate -replace '{path_to_symbol}', '$(winverifySymbolsPath)\winverify-private' -replace '{path_to_dll}', '$(winverifySymbolsPath)\winverify-private\getfilesiginforedist.dll' -replace '{path_to_dll_in_build}', $pathToDll + $surrogateFileContent | Out-File -FilePath $surrogateFile -Force + + Write-Verbose -Verbose -Message "Surrogate file content:" + Get-Content -Path $surrogateFile -Raw | Out-String | Write-Verbose -Verbose + + Write-Host "##vso[task.setvariable variable=surrogateFilePath]$(Pipeline.Workspace)" + workingDirectory: '$(Build.SourcesDirectory)' displayName: 'Build PowerShell Source' @@ -115,6 +178,7 @@ jobs: verbosityLevel: standard # write a status update every 5 minutes. Default is 1 minute statusUpdateInterval: '00:05:00' + surrogateConfigurationFolder : $(surrogateFilePath) env: AzureServicesAuthConnectionString: RunAs=App;AppId=$(APIScanClient);TenantId=$(APIScanTenant);AppKey=$(APIScanSecret) From 433998c4ff83df91c4cb379d5f9a920e331ed541 Mon Sep 17 00:00:00 2001 From: Dongbo Wang Date: Tue, 9 Jan 2024 23:28:04 +0000 Subject: [PATCH 5/7] Merged PR 29140: Update .NET SDK to 7.0.405 Update .NET SDK to 7.0.405 --- global.json | 2 +- src/Microsoft.PowerShell.SDK/Microsoft.PowerShell.SDK.csproj | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/global.json b/global.json index 92a8e29daf8..610c5bd3b37 100644 --- a/global.json +++ b/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "7.0.404" + "version": "7.0.405" } } diff --git a/src/Microsoft.PowerShell.SDK/Microsoft.PowerShell.SDK.csproj b/src/Microsoft.PowerShell.SDK/Microsoft.PowerShell.SDK.csproj index 62e6ebff9de..1fde1a782a6 100644 --- a/src/Microsoft.PowerShell.SDK/Microsoft.PowerShell.SDK.csproj +++ b/src/Microsoft.PowerShell.SDK/Microsoft.PowerShell.SDK.csproj @@ -17,13 +17,13 @@ - + - + From c27988ce925280949c5b67855e50d004bb813eab Mon Sep 17 00:00:00 2001 From: Dongbo Wang Date: Wed, 10 Jan 2024 17:49:22 +0000 Subject: [PATCH 6/7] Merged PR 29160: Update 'cgmanifest.json' for v7.3.11 release Update 'cgmanifest.json' for v7.3.11 release --- tools/cgmanifest.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/cgmanifest.json b/tools/cgmanifest.json index 3fb40d1cd58..d90af5a2a75 100644 --- a/tools/cgmanifest.json +++ b/tools/cgmanifest.json @@ -1,4 +1,5 @@ { + "$schema": "https://json.schemastore.org/component-detection-manifest.json", "Registrations": [ { "Component": { @@ -105,7 +106,7 @@ "Type": "nuget", "Nuget": { "Name": "Microsoft.Extensions.ObjectPool", - "Version": "7.0.14" + "Version": "7.0.15" } }, "DevelopmentDependency": false @@ -345,7 +346,7 @@ "Type": "nuget", "Nuget": { "Name": "StyleCop.Analyzers.Unstable", - "Version": "1.2.0.507" + "Version": "1.2.0.556" } }, "DevelopmentDependency": true @@ -435,7 +436,7 @@ "Type": "nuget", "Nuget": { "Name": "System.Data.SqlClient", - "Version": "4.8.5" + "Version": "4.8.6" } }, "DevelopmentDependency": false @@ -840,6 +841,5 @@ }, "DevelopmentDependency": false } - ], - "$schema": "https://json.schemastore.org/component-detection-manifest.json" + ] } From d68aa89daf9b28b23f0675c355b7be0b8795cd82 Mon Sep 17 00:00:00 2001 From: Dongbo Wang Date: Thu, 11 Jan 2024 18:40:10 +0000 Subject: [PATCH 7/7] Merged PR 29211: Update change log for v7.3.11 Update change log for v7.3.11 --- CHANGELOG/7.3.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/CHANGELOG/7.3.md b/CHANGELOG/7.3.md index 093430b68d6..995fe69a249 100644 --- a/CHANGELOG/7.3.md +++ b/CHANGELOG/7.3.md @@ -1,5 +1,30 @@ # 7.3 Changelog +## [7.3.11] - 2024-01-11 + +### Build and Packaging Improvements + +
+ + + +

Bump .NET to 7.0.405

+ +
+ +
    +
  • Update 'cgmanifest.json' for v7.3.11 release (Internal 29160)
  • +
  • Update .NET SDK to 7.0.405 (Internal 29140)
  • +
  • Back port 3 build changes to apiscan.yml (#21035)
  • +
  • Set the ollForwardOnNoCandidateFx in runtimeconfig.json to roll forward only on minor and patch versions (#20689)
  • +
  • Remove the ref folder before running compliance (#20373)
  • +
  • Fix the tab completion tests (#20867)
  • +
+ +
+ +[7.3.11]: https://github.com/PowerShell/PowerShell/compare/v7.3.10...v7.3.11 + ## [7.3.10] - 2023-11-16 ### General Cmdlet Updates and Fixes