From d5ce0fff2f1f29110364522a67be129de9382aa8 Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Wed, 7 Jul 2021 15:51:27 -0700 Subject: [PATCH 01/33] Make initial build changes to macos M1 packaging --- build.psm1 | 17 ++++++++++++++--- tools/packaging/packaging.psm1 | 6 +++++- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/build.psm1 b/build.psm1 index db3bdb5fae7..d5951deaf1d 100644 --- a/build.psm1 +++ b/build.psm1 @@ -33,14 +33,20 @@ function Sync-PSTags $AddRemoteIfMissing ) - $PowerShellRemoteUrl = "https://github.com/PowerShell/PowerShell.git" + $powerShellRemoteUrls = @( + 'https://github.com/PowerShell/PowerShell' + 'git@github.com:PowerShell/PowerShell' + ) + $upstreamRemoteDefaultName = 'upstream' $remotes = Start-NativeExecution {git --git-dir="$PSScriptRoot/.git" remote} $upstreamRemote = $null foreach($remote in $remotes) { $url = Start-NativeExecution {git --git-dir="$PSScriptRoot/.git" remote get-url $remote} - if($url -eq $PowerShellRemoteUrl) + if ($url.EndsWith('.git')) { $url = $url.Substring(0, $url.Length - 4) } + + if($url -in $powerShellRemoteUrls) { $upstreamRemote = $remote break @@ -432,9 +438,14 @@ Fix steps: } # Framework Dependent builds do not support ReadyToRun as it needs a specific runtime to optimize for. + # M1/ARM64 macOS similarly does not support ReadyToRun + # We need to detect ARM64 macOS from a Rosetta process, forcing us to parse uname -a + # See: https://stackoverflow.com/a/68148776 # The property is set in Powershell.Common.props file. # We override the property through the build command line. - if($Options.Runtime -like 'fxdependent*' -or $ForMinimalSize) { + wait-debugger + $isM1MacOS = $IsMacOS -and ((uname -a) -match 'ARM64') + if($Options.Runtime -like 'fxdependent*' -or $ForMinimalSize -or $isM1MacOS) { $Arguments += "/property:PublishReadyToRun=false" } diff --git a/tools/packaging/packaging.psm1 b/tools/packaging/packaging.psm1 index 861dfc95c24..20be09342a1 100644 --- a/tools/packaging/packaging.psm1 +++ b/tools/packaging/packaging.psm1 @@ -76,7 +76,11 @@ function Start-PSPackage { } elseif ($Type -eq "tar-arm") { New-PSOptions -Configuration "Release" -Runtime "Linux-ARM" -WarningAction SilentlyContinue | ForEach-Object { $_.Runtime, $_.Configuration } } elseif ($Type -eq "tar-arm64") { - New-PSOptions -Configuration "Release" -Runtime "Linux-ARM64" -WarningAction SilentlyContinue | ForEach-Object { $_.Runtime, $_.Configuration } + if ($IsMacOS) { + New-PSOptions -Configuration "Release" -Runtime "osx-arm64" -WarningAction SilentlyContinue | ForEach-Object { $_.Runtime, $_.Configuration } + } else { + New-PSOptions -Configuration "Release" -Runtime "Linux-ARM64" -WarningAction SilentlyContinue | ForEach-Object { $_.Runtime, $_.Configuration } + } } else { New-PSOptions -Configuration "Release" -WarningAction SilentlyContinue | ForEach-Object { $_.Runtime, $_.Configuration } } From 01380dc44682dba4afab6b958d1ecaf44cb839c2 Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Wed, 7 Jul 2021 16:36:34 -0700 Subject: [PATCH 02/33] Add release skip switch for testing --- build.psm1 | 1 - .../macOS/PowerShellPackageVsts.ps1 | 22 ++++++++++--------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/build.psm1 b/build.psm1 index d5951deaf1d..6b99676569c 100644 --- a/build.psm1 +++ b/build.psm1 @@ -443,7 +443,6 @@ Fix steps: # See: https://stackoverflow.com/a/68148776 # The property is set in Powershell.Common.props file. # We override the property through the build command line. - wait-debugger $isM1MacOS = $IsMacOS -and ((uname -a) -match 'ARM64') if($Options.Runtime -like 'fxdependent*' -or $ForMinimalSize -or $isM1MacOS) { $Arguments += "/property:PublishReadyToRun=false" diff --git a/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 b/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 index 75bd3a1ed8c..222940666c5 100644 --- a/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 +++ b/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 @@ -42,15 +42,17 @@ param ( [ValidatePattern("-signed.zip$")] [string]$BuildZip, - [string]$ArtifactName = 'result' + [string]$ArtifactName = 'result', + + [switch]$SkipReleaseChecks ) $repoRoot = $location if ($Build.IsPresent -or $PSCmdlet.ParameterSetName -eq 'packageSigned') { - $releaseTagParam = @{ } + $releaseTagParam = @{} if ($ReleaseTag) { - $releaseTagParam = @{ 'ReleaseTag' = $ReleaseTag } + $releaseTagParam['ReleaseTag'] = $ReleaseTag #Remove the initial 'v' from the ReleaseTag $version = $ReleaseTag -replace '^v' @@ -65,6 +67,7 @@ if ($Build.IsPresent -or $PSCmdlet.ParameterSetName -eq 'packageSigned') { Push-Location try { + $pspackageParams = @{ SkipReleaseChecks = $SkipReleaseChecks } Write-Verbose -Message "Init..." -Verbose Set-Location $repoRoot Import-Module "$repoRoot/build.psm1" @@ -81,15 +84,15 @@ try { Remove-Item -Path $BuildZip - Start-PSPackage @releaseTagParam + Start-PSPackage @pspackageParams @releaseTagParam switch ($ExtraPackage) { - "tar" { Start-PSPackage -Type tar @releaseTagParam } + "tar" { Start-PSPackage -Type tar @pspackageParams @releaseTagParam } } if ($LTS) { Start-PSPackage @releaseTagParam -LTS switch ($ExtraPackage) { - "tar" { Start-PSPackage -Type tar @releaseTagParam -LTS } + "tar" { Start-PSPackage -Type tar @pspackageParams @releaseTagParam -LTS } } } } @@ -97,22 +100,21 @@ try { if ($Build.IsPresent) { if ($Symbols.IsPresent) { Start-PSBuild -Configuration 'Release' -Crossgen -NoPSModuleRestore @releaseTagParam - $pspackageParams = @{} $pspackageParams['Type']='zip' $pspackageParams['IncludeSymbols']=$Symbols.IsPresent Write-Verbose "Starting powershell packaging(zip)..." -Verbose Start-PSPackage @pspackageParams @releaseTagParam } else { Start-PSBuild -Configuration 'Release' -Crossgen -PSModuleRestore @releaseTagParam - Start-PSPackage @releaseTagParam + Start-PSPackage @pspackageParams @releaseTagParam switch ($ExtraPackage) { - "tar" { Start-PSPackage -Type tar @releaseTagParam } + "tar" { Start-PSPackage -Type tar @pspackageParams @releaseTagParam } } if ($LTS) { Start-PSPackage @releaseTagParam -LTS switch ($ExtraPackage) { - "tar" { Start-PSPackage -Type tar @releaseTagParam -LTS } + "tar" { Start-PSPackage -Type tar @pspackageParams @releaseTagParam -LTS } } } } From 2a938c9f8be18f5762904432c727325d3d12e8b8 Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Wed, 7 Jul 2021 16:54:51 -0700 Subject: [PATCH 03/33] Fix remote url usage --- build.psm1 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/build.psm1 b/build.psm1 index 6b99676569c..3bd8597359a 100644 --- a/build.psm1 +++ b/build.psm1 @@ -37,6 +37,7 @@ function Sync-PSTags 'https://github.com/PowerShell/PowerShell' 'git@github.com:PowerShell/PowerShell' ) + $defaultRemoteUrl = "$($powerShellRemoteUrls[0]).git" $upstreamRemoteDefaultName = 'upstream' $remotes = Start-NativeExecution {git --git-dir="$PSScriptRoot/.git" remote} @@ -55,12 +56,12 @@ function Sync-PSTags if(!$upstreamRemote -and $AddRemoteIfMissing.IsPresent -and $remotes -notcontains $upstreamRemoteDefaultName) { - $null = Start-NativeExecution {git --git-dir="$PSScriptRoot/.git" remote add $upstreamRemoteDefaultName $PowerShellRemoteUrl} + $null = Start-NativeExecution {git --git-dir="$PSScriptRoot/.git" remote add $upstreamRemoteDefaultName $defaultRemoteUrl} $upstreamRemote = $upstreamRemoteDefaultName } elseif(!$upstreamRemote) { - Write-Error "Please add a remote to PowerShell\PowerShell. Example: git remote add $upstreamRemoteDefaultName $PowerShellRemoteUrl" -ErrorAction Stop + Write-Error "Please add a remote to PowerShell\PowerShell. Example: git remote add $upstreamRemoteDefaultName $defaultRemoteUrl" -ErrorAction Stop } $null = Start-NativeExecution {git --git-dir="$PSScriptRoot/.git" fetch --tags --quiet $upstreamRemote} From 772cc9fd4b1db56b1cb46c26cc4108f5c489c865 Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Thu, 8 Jul 2021 09:01:14 -0700 Subject: [PATCH 04/33] Remove redundant switch property access --- tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 b/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 index 222940666c5..167daa52aa7 100644 --- a/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 +++ b/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 @@ -49,7 +49,7 @@ param ( $repoRoot = $location -if ($Build.IsPresent -or $PSCmdlet.ParameterSetName -eq 'packageSigned') { +if ($Build -or $PSCmdlet.ParameterSetName -eq 'packageSigned') { $releaseTagParam = @{} if ($ReleaseTag) { $releaseTagParam['ReleaseTag'] = $ReleaseTag @@ -74,7 +74,7 @@ try { Import-Module "$repoRoot/tools/packaging" Sync-PSTags -AddRemoteIfMissing - if ($BootStrap.IsPresent) { + if ($BootStrap) { Start-PSBootstrap -Package } @@ -97,8 +97,8 @@ try { } } - if ($Build.IsPresent) { - if ($Symbols.IsPresent) { + if ($Build) { + if ($Symbols) { Start-PSBuild -Configuration 'Release' -Crossgen -NoPSModuleRestore @releaseTagParam $pspackageParams['Type']='zip' $pspackageParams['IncludeSymbols']=$Symbols.IsPresent @@ -123,7 +123,7 @@ try { Pop-Location } -if ($Build.IsPresent -or $PSCmdlet.ParameterSetName -eq 'packageSigned') { +if ($Build -or $PSCmdlet.ParameterSetName -eq 'packageSigned') { $macPackages = Get-ChildItem "$repoRoot/powershell*" -Include *.pkg, *.tar.gz, *.zip foreach ($macPackage in $macPackages) { $filePath = $macPackage.FullName From 7d3d76e51b283d99be32a97bdf0bdd66bd58bdb6 Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Thu, 8 Jul 2021 09:22:08 -0700 Subject: [PATCH 05/33] Use function for M1 macOS detection --- build.psm1 | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/build.psm1 b/build.psm1 index 3bd8597359a..42b51f52ff3 100644 --- a/build.psm1 +++ b/build.psm1 @@ -440,12 +440,9 @@ Fix steps: # Framework Dependent builds do not support ReadyToRun as it needs a specific runtime to optimize for. # M1/ARM64 macOS similarly does not support ReadyToRun - # We need to detect ARM64 macOS from a Rosetta process, forcing us to parse uname -a - # See: https://stackoverflow.com/a/68148776 # The property is set in Powershell.Common.props file. # We override the property through the build command line. - $isM1MacOS = $IsMacOS -and ((uname -a) -match 'ARM64') - if($Options.Runtime -like 'fxdependent*' -or $ForMinimalSize -or $isM1MacOS) { + if($Options.Runtime -like 'fxdependent*' -or $ForMinimalSize -or (Test-IsArm64MacOS)) { $Arguments += "/property:PublishReadyToRun=false" } @@ -3382,3 +3379,8 @@ function New-NugetConfigFile Set-Content -Path (Join-Path $Destination 'nuget.config') -Value $content -Force } + +function Test-IsArm64MacOS +{ + return $IsMacOS -and (Start-NativeExecution -IgnoreExitCode { (arch -arm64 uname -p) -eq 'arm' } 2>$null) +} From 6ebe0cdce30efd72aaa63a7d9dff7c32b2c0754d Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Fri, 9 Jul 2021 12:56:39 -0700 Subject: [PATCH 06/33] Build M1 macos build separately --- build.psm1 | 2 +- tools/packaging/packaging.psm1 | 8 ++++++++ tools/releaseBuild/azureDevOps/releaseBuild.yml | 6 ++++++ tools/releaseBuild/azureDevOps/templates/mac.yml | 3 ++- tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 | 8 ++++++-- 5 files changed, 23 insertions(+), 4 deletions(-) diff --git a/build.psm1 b/build.psm1 index 42b51f52ff3..fbcba37a808 100644 --- a/build.psm1 +++ b/build.psm1 @@ -442,7 +442,7 @@ Fix steps: # M1/ARM64 macOS similarly does not support ReadyToRun # The property is set in Powershell.Common.props file. # We override the property through the build command line. - if($Options.Runtime -like 'fxdependent*' -or $ForMinimalSize -or (Test-IsArm64MacOS)) { + if($Options.Runtime -eq 'osx-arm64' -or $Options.Runtime -like 'fxdependent*' -or $ForMinimalSize) { $Arguments += "/property:PublishReadyToRun=false" } diff --git a/tools/packaging/packaging.psm1 b/tools/packaging/packaging.psm1 index 20be09342a1..00fade35bc4 100644 --- a/tools/packaging/packaging.psm1 +++ b/tools/packaging/packaging.psm1 @@ -37,6 +37,10 @@ function Start-PSPackage { [ValidateScript({$Environment.IsWindows})] [string] $WindowsRuntime, + [ValidateSet('osx-x64', 'osx-arm64')] + [ValidateScript({$Environment.IsMacOS})] + [string] $MacOSRuntime, + [Switch] $Force, [Switch] $SkipReleaseChecks, @@ -71,6 +75,8 @@ function Start-PSPackage { # Runtime and Configuration settings required by the package ($Runtime, $Configuration) = if ($WindowsRuntime) { $WindowsRuntime, "Release" + } elseif ($MacOSRuntime) { + $MacOSRuntime, "Release" } elseif ($Type -eq "tar-alpine") { New-PSOptions -Configuration "Release" -Runtime "alpine-x64" -WarningAction SilentlyContinue | ForEach-Object { $_.Runtime, $_.Configuration } } elseif ($Type -eq "tar-arm") { @@ -101,6 +107,8 @@ function Start-PSPackage { } elseif ($Type -eq 'fxdependent-win-desktop') { $NameSuffix = "win-fxdependentWinDesktop" Write-Log "Packaging : '$Type'; Packaging Configuration: '$Configuration'" + } elseif ($MacOSRuntime) { + $NameSuffix = $MacOSRuntime } else { Write-Log "Packaging RID: '$Runtime'; Packaging Configuration: '$Configuration'" } diff --git a/tools/releaseBuild/azureDevOps/releaseBuild.yml b/tools/releaseBuild/azureDevOps/releaseBuild.yml index f309431b977..cbd23f2847a 100644 --- a/tools/releaseBuild/azureDevOps/releaseBuild.yml +++ b/tools/releaseBuild/azureDevOps/releaseBuild.yml @@ -38,6 +38,12 @@ stages: dependsOn: ['prep'] jobs: - template: templates/mac.yml + parameters: + buildArchitecture: x64 + + - template: templates/mac.yml + parameters: + buildArchitecture: arm64 - template: templates/mac-file-signing.yml parameters: diff --git a/tools/releaseBuild/azureDevOps/templates/mac.yml b/tools/releaseBuild/azureDevOps/templates/mac.yml index 7cbb7fa1ff5..ca40248b07d 100644 --- a/tools/releaseBuild/azureDevOps/templates/mac.yml +++ b/tools/releaseBuild/azureDevOps/templates/mac.yml @@ -1,5 +1,6 @@ parameters: jobName: 'build_macOS' + buildArchitecture: 'x64' jobs: - job: ${{ parameters.jobName }} @@ -45,7 +46,7 @@ jobs: - pwsh: | $env:AzDevOpsFeedPAT2 = '$(AzDevOpsFeedPAT2)' - $(Build.SourcesDirectory)/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 -ReleaseTag $(ReleaseTagVar) -Destination $(System.ArtifactsDirectory) -Symbols -location $(PowerShellRoot) -Build -ArtifactName macosBinResults + $(Build.SourcesDirectory)/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 -ReleaseTag $(ReleaseTagVar) -Destination $(System.ArtifactsDirectory) -Symbols -location $(PowerShellRoot) -Build -ArtifactName macosBinResults -Runtime 'osx-${{ parameters.buildArchitecture }}' $env:AzDevOpsFeedPAT2 = $null displayName: 'Build' diff --git a/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 b/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 index 167daa52aa7..d0146ad4ce2 100644 --- a/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 +++ b/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 @@ -42,6 +42,10 @@ param ( [ValidatePattern("-signed.zip$")] [string]$BuildZip, + [Parameter(Mandatory, ParameterSetName = 'IncludeSymbols')] + [ValidateSet('osx-x64', 'osx-arm64')] + [string]$Runtime, + [string]$ArtifactName = 'result', [switch]$SkipReleaseChecks @@ -99,11 +103,11 @@ try { if ($Build) { if ($Symbols) { - Start-PSBuild -Configuration 'Release' -Crossgen -NoPSModuleRestore @releaseTagParam + Start-PSBuild -Clean -Configuration 'Release' -Crossgen -NoPSModuleRestore @releaseTagParam -Runtime $Runtime $pspackageParams['Type']='zip' $pspackageParams['IncludeSymbols']=$Symbols.IsPresent Write-Verbose "Starting powershell packaging(zip)..." -Verbose - Start-PSPackage @pspackageParams @releaseTagParam + Start-PSPackage @pspackageParams @releaseTagParam -MacOSRuntime $Runtime } else { Start-PSBuild -Configuration 'Release' -Crossgen -PSModuleRestore @releaseTagParam Start-PSPackage @pspackageParams @releaseTagParam From a1f2f390d561ab7d95594bfb779f67e7744c958b Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Fri, 9 Jul 2021 12:59:52 -0700 Subject: [PATCH 07/33] Change job name --- tools/releaseBuild/azureDevOps/templates/mac.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/releaseBuild/azureDevOps/templates/mac.yml b/tools/releaseBuild/azureDevOps/templates/mac.yml index ca40248b07d..7cd909a79ff 100644 --- a/tools/releaseBuild/azureDevOps/templates/mac.yml +++ b/tools/releaseBuild/azureDevOps/templates/mac.yml @@ -1,6 +1,6 @@ parameters: - jobName: 'build_macOS' buildArchitecture: 'x64' + jobName: 'build_macOS_${{ parameters.buildArchitecture }}' jobs: - job: ${{ parameters.jobName }} From 5d5fd89150827f0b751d5b294f06125ab129c79c Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Fri, 9 Jul 2021 13:00:47 -0700 Subject: [PATCH 08/33] Fix job name --- tools/releaseBuild/azureDevOps/releaseBuild.yml | 2 ++ tools/releaseBuild/azureDevOps/templates/mac.yml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/releaseBuild/azureDevOps/releaseBuild.yml b/tools/releaseBuild/azureDevOps/releaseBuild.yml index cbd23f2847a..84d4623a41b 100644 --- a/tools/releaseBuild/azureDevOps/releaseBuild.yml +++ b/tools/releaseBuild/azureDevOps/releaseBuild.yml @@ -40,10 +40,12 @@ stages: - template: templates/mac.yml parameters: buildArchitecture: x64 + jobName: build_macOS_x64 - template: templates/mac.yml parameters: buildArchitecture: arm64 + jobName: build_macOS_arm64 - template: templates/mac-file-signing.yml parameters: diff --git a/tools/releaseBuild/azureDevOps/templates/mac.yml b/tools/releaseBuild/azureDevOps/templates/mac.yml index 7cd909a79ff..d8cec83e168 100644 --- a/tools/releaseBuild/azureDevOps/templates/mac.yml +++ b/tools/releaseBuild/azureDevOps/templates/mac.yml @@ -1,6 +1,6 @@ parameters: buildArchitecture: 'x64' - jobName: 'build_macOS_${{ parameters.buildArchitecture }}' + jobName: 'build_macOS' jobs: - job: ${{ parameters.jobName }} From b62c2c0a6f466aae22adeb0b39d80476021005d6 Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Fri, 9 Jul 2021 15:13:21 -0700 Subject: [PATCH 09/33] Fix parent jobs --- tools/releaseBuild/azureDevOps/releaseBuild.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/releaseBuild/azureDevOps/releaseBuild.yml b/tools/releaseBuild/azureDevOps/releaseBuild.yml index 84d4623a41b..62051ab254a 100644 --- a/tools/releaseBuild/azureDevOps/releaseBuild.yml +++ b/tools/releaseBuild/azureDevOps/releaseBuild.yml @@ -49,7 +49,9 @@ stages: - template: templates/mac-file-signing.yml parameters: - parentJob: build_macOS + parentJobs: + - build_macOS_x64 + - build_macOS_arm64 - template: templates/mac-package-build.yml parameters: From feb0b5392fda87cda575ad2d5a1bd22b007ccc7a Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Fri, 9 Jul 2021 15:26:07 -0700 Subject: [PATCH 10/33] Fix job dependencies --- tools/releaseBuild/azureDevOps/releaseBuild.yml | 2 -- tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml | 4 ++-- tools/releaseBuild/azureDevOps/templates/mac.yml | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/tools/releaseBuild/azureDevOps/releaseBuild.yml b/tools/releaseBuild/azureDevOps/releaseBuild.yml index 62051ab254a..3e1f330f952 100644 --- a/tools/releaseBuild/azureDevOps/releaseBuild.yml +++ b/tools/releaseBuild/azureDevOps/releaseBuild.yml @@ -40,12 +40,10 @@ stages: - template: templates/mac.yml parameters: buildArchitecture: x64 - jobName: build_macOS_x64 - template: templates/mac.yml parameters: buildArchitecture: arm64 - jobName: build_macOS_arm64 - template: templates/mac-file-signing.yml parameters: diff --git a/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml b/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml index 34bee8c365b..842801754cf 100644 --- a/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml +++ b/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml @@ -1,10 +1,10 @@ parameters: - parentJob: '' + parentJobs: [] jobs: - job: MacFileSigningJob displayName: macOS File signing - dependsOn: ${{ parameters.parentJob }} + dependsOn: ${{ parameters.parentJobs }} condition: succeeded() pool: name: Package ES Standard Build diff --git a/tools/releaseBuild/azureDevOps/templates/mac.yml b/tools/releaseBuild/azureDevOps/templates/mac.yml index d8cec83e168..b686663387b 100644 --- a/tools/releaseBuild/azureDevOps/templates/mac.yml +++ b/tools/releaseBuild/azureDevOps/templates/mac.yml @@ -1,9 +1,8 @@ parameters: buildArchitecture: 'x64' - jobName: 'build_macOS' jobs: -- job: ${{ parameters.jobName }} +- job: build_macOS_${{ parameters.buildArchitecture }} displayName: Build macOS condition: succeeded() pool: Hosted Mac Internal From db29359127168e58626bf842e0be8a702759986e Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Fri, 9 Jul 2021 16:00:46 -0700 Subject: [PATCH 11/33] Don't run crossgen on arm64 --- tools/releaseBuild/azureDevOps/templates/mac.yml | 2 +- tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/releaseBuild/azureDevOps/templates/mac.yml b/tools/releaseBuild/azureDevOps/templates/mac.yml index b686663387b..54f4354ed1d 100644 --- a/tools/releaseBuild/azureDevOps/templates/mac.yml +++ b/tools/releaseBuild/azureDevOps/templates/mac.yml @@ -3,7 +3,7 @@ parameters: jobs: - job: build_macOS_${{ parameters.buildArchitecture }} - displayName: Build macOS + displayName: Build macOS ${{ parameters.buildArchitecture }} condition: succeeded() pool: Hosted Mac Internal variables: diff --git a/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 b/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 index d0146ad4ce2..cccb7b40c70 100644 --- a/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 +++ b/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 @@ -102,14 +102,15 @@ try { } if ($Build) { + $runCrossgen = $Runtime -eq 'osx-x64' if ($Symbols) { - Start-PSBuild -Clean -Configuration 'Release' -Crossgen -NoPSModuleRestore @releaseTagParam -Runtime $Runtime + Start-PSBuild -Clean -Configuration 'Release' -Crossgen:$runCrossgen -NoPSModuleRestore @releaseTagParam -Runtime $Runtime $pspackageParams['Type']='zip' $pspackageParams['IncludeSymbols']=$Symbols.IsPresent Write-Verbose "Starting powershell packaging(zip)..." -Verbose Start-PSPackage @pspackageParams @releaseTagParam -MacOSRuntime $Runtime } else { - Start-PSBuild -Configuration 'Release' -Crossgen -PSModuleRestore @releaseTagParam + Start-PSBuild -Configuration 'Release' -Crossgen:$runCrossgen -PSModuleRestore @releaseTagParam Start-PSPackage @pspackageParams @releaseTagParam switch ($ExtraPackage) { "tar" { Start-PSPackage -Type tar @pspackageParams @releaseTagParam } From 7f6af42954ddfa7987a807bf4fc13e38a22a470c Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Mon, 12 Jul 2021 13:03:17 -0700 Subject: [PATCH 12/33] Improve symbol copying --- .../azureDevOps/templates/mac-file-signing.yml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml b/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml index 842801754cf..40977d258c9 100644 --- a/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml +++ b/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml @@ -4,7 +4,7 @@ parameters: jobs: - job: MacFileSigningJob displayName: macOS File signing - dependsOn: ${{ parameters.parentJobs }} + dependsOn: ${{ parameters.parentJob }} condition: succeeded() pool: name: Package ES Standard Build @@ -41,14 +41,18 @@ jobs: continueOnError: true - pwsh: | - $zipPath = Get-Item '$(System.ArtifactsDirectory)\Symbols\macosBinResults\*symbol*.zip' - Write-Verbose -Verbose "Zip Path: $zipPath" + $symbolsFolder = New-Item -Path "$(System.ArtifactsDirectory)\zip_symbols" -ItemType Directory + Get-Item '$(System.ArtifactsDirectory)\Symbols\macosBinResults\*symbol*.zip' | + ForEach-Object { + Write-Verbose -Verbose "Zip Path: $_" - $expandedFolder = $zipPath.BaseName - Write-Host "sending.. vso[task.setvariable variable=SymbolsFolder]$expandedFolder" - Write-Host "##vso[task.setvariable variable=SymbolsFolder]$expandedFolder" + $expandedFolder = $_.BaseName + Expand-Archive -Path $zipPath -Destination "$($symbolsFolder.FullName)\$expandedFolder" -Force + } + + Write-Host "sending.. vso[task.setvariable variable=SymbolsFolder]$symbolsFolder" + Write-Host "##vso[task.setvariable variable=SymbolsFolder]$symbolsFolder" - Expand-Archive -Path $zipPath -Destination "$(System.ArtifactsDirectory)\$expandedFolder" -Force displayName: Expand symbols zip - pwsh: | From 7ab5766e37c6213dd7cf862a2edb29ae75bb5beb Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Mon, 12 Jul 2021 13:09:00 -0700 Subject: [PATCH 13/33] Fix parent jobs --- tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml b/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml index 40977d258c9..4acad508763 100644 --- a/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml +++ b/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml @@ -4,7 +4,7 @@ parameters: jobs: - job: MacFileSigningJob displayName: macOS File signing - dependsOn: ${{ parameters.parentJob }} + dependsOn: ${{ parameters.parentJobs }} condition: succeeded() pool: name: Package ES Standard Build From 8554f86335294ff42d5e417e520de9c5f68bd159 Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Mon, 12 Jul 2021 13:46:00 -0700 Subject: [PATCH 14/33] Fix zip path --- tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml b/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml index 4acad508763..3a0fe832d17 100644 --- a/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml +++ b/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml @@ -42,9 +42,11 @@ jobs: - pwsh: | $symbolsFolder = New-Item -Path "$(System.ArtifactsDirectory)\zip_symbols" -ItemType Directory + Get-Item '$(System.ArtifactsDirectory)\Symbols\macosBinResults\*symbol*.zip' | ForEach-Object { - Write-Verbose -Verbose "Zip Path: $_" + $zipPath = $_.FullName + Write-Verbose -Verbose "Zip Path: $zipPath" $expandedFolder = $_.BaseName Expand-Archive -Path $zipPath -Destination "$($symbolsFolder.FullName)\$expandedFolder" -Force From 80cee0283bad195c19f0655a7c9acf881781fe1b Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Mon, 12 Jul 2021 13:57:54 -0700 Subject: [PATCH 15/33] x --- tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml b/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml index 3a0fe832d17..2d9a8024e52 100644 --- a/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml +++ b/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml @@ -41,7 +41,8 @@ jobs: continueOnError: true - pwsh: | - $symbolsFolder = New-Item -Path "$(System.ArtifactsDirectory)\zip_symbols" -ItemType Directory + $symbolsFolder = New-Item -Path "$(System.ArtifactsDirectory)\zip_symbols" -ItemType Directory -Force -ErrorAction Stop + Write-Verbose -Verbose "Created symbols dir: $symbolsFolder" Get-Item '$(System.ArtifactsDirectory)\Symbols\macosBinResults\*symbol*.zip' | ForEach-Object { @@ -52,6 +53,7 @@ jobs: Expand-Archive -Path $zipPath -Destination "$($symbolsFolder.FullName)\$expandedFolder" -Force } + $symbolsFolder = $symbolsFolder.BaseName Write-Host "sending.. vso[task.setvariable variable=SymbolsFolder]$symbolsFolder" Write-Host "##vso[task.setvariable variable=SymbolsFolder]$symbolsFolder" From d19f7c0252ff2f006046dbde87fa63867f3e0474 Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Tue, 13 Jul 2021 11:15:13 -0700 Subject: [PATCH 16/33] Move to matrix --- .../releaseBuild/azureDevOps/releaseBuild.yml | 19 +++++----- .../templates/mac-file-signing.yml | 36 ++++++++----------- .../templates/mac-package-build.yml | 12 +++---- .../templates/mac-package-signing.yml | 12 +++---- 4 files changed, 35 insertions(+), 44 deletions(-) diff --git a/tools/releaseBuild/azureDevOps/releaseBuild.yml b/tools/releaseBuild/azureDevOps/releaseBuild.yml index 3e1f330f952..564f1fb13b1 100644 --- a/tools/releaseBuild/azureDevOps/releaseBuild.yml +++ b/tools/releaseBuild/azureDevOps/releaseBuild.yml @@ -36,28 +36,27 @@ stages: - stage: macos dependsOn: ['prep'] + matrix: + x64: + buildArchitecture: x64 + arm64: + buildArchitecture: arm64 jobs: - template: templates/mac.yml parameters: - buildArchitecture: x64 - - - template: templates/mac.yml - parameters: - buildArchitecture: arm64 + buildArchitecture: $(buildArchitecture) - template: templates/mac-file-signing.yml parameters: - parentJobs: - - build_macOS_x64 - - build_macOS_arm64 + buildArchitecture: $(buildArchitecture) - template: templates/mac-package-build.yml parameters: - parentJob: MacFileSigningJob + buildArchitecture: $(buildArchitecture) - template: templates/mac-package-signing.yml parameters: - parentJob: package_macOS + buildArchitecture: $(buildArchitecture) - stage: linux dependsOn: ['prep'] diff --git a/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml b/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml index 2d9a8024e52..b850bcb1432 100644 --- a/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml +++ b/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml @@ -1,10 +1,10 @@ parameters: - parentJobs: [] + buildArchitecture: 'x64' jobs: - - job: MacFileSigningJob + - job: MacFileSigningJob_${{ parameters.buildArchitecture }} displayName: macOS File signing - dependsOn: ${{ parameters.parentJobs }} + dependsOn: build_macOS_${{ parameters.buildArchitecture }} condition: succeeded() pool: name: Package ES Standard Build @@ -41,22 +41,14 @@ jobs: continueOnError: true - pwsh: | - $symbolsFolder = New-Item -Path "$(System.ArtifactsDirectory)\zip_symbols" -ItemType Directory -Force -ErrorAction Stop - Write-Verbose -Verbose "Created symbols dir: $symbolsFolder" + $zipPath = Get-Item '$(System.ArtifactsDirectory)\Symbols\macosBinResults\*symbol*${{ parameters.buildArchitecture }}*.zip' + Write-Verbose -Verbose "Zip Path: $zipPath" - Get-Item '$(System.ArtifactsDirectory)\Symbols\macosBinResults\*symbol*.zip' | - ForEach-Object { - $zipPath = $_.FullName - Write-Verbose -Verbose "Zip Path: $zipPath" - - $expandedFolder = $_.BaseName - Expand-Archive -Path $zipPath -Destination "$($symbolsFolder.FullName)\$expandedFolder" -Force - } - - $symbolsFolder = $symbolsFolder.BaseName - Write-Host "sending.. vso[task.setvariable variable=SymbolsFolder]$symbolsFolder" - Write-Host "##vso[task.setvariable variable=SymbolsFolder]$symbolsFolder" + $expandedFolder = $zipPath.BaseName + Write-Host "sending.. vso[task.setvariable variable=SymbolsFolder]$expandedFolder" + Write-Host "##vso[task.setvariable variable=SymbolsFolder]$expandedFolder" + Expand-Archive -Path $zipPath -Destination "$(System.ArtifactsDirectory)\$expandedFolder" -Force displayName: Expand symbols zip - pwsh: | @@ -71,7 +63,7 @@ jobs: - pwsh: | $null = new-item -type directory -path "$(Build.StagingDirectory)\macos" - $zipFile = "$(Build.StagingDirectory)\macos\powershell-files-$(Version)-osx-x64.zip" + $zipFile = "$(Build.StagingDirectory)\macos\powershell-files-$(Version)-osx-${{ parameters.buildArchitecture }}.zip" Get-ChildItem "$(System.ArtifactsDirectory)\$(SymbolsFolder)" -Recurse -Include pwsh, *.dylib | Compress-Archive -Destination $zipFile Write-Host $zipFile @@ -89,7 +81,7 @@ jobs: displayName: Sign macOS Binaries - pwsh: | - $destination = "$(System.ArtifactsDirectory)\azureMacOs" + $destination = "$(System.ArtifactsDirectory)\azureMacOs_${{ parameters.buildArchitecture }}" New-Item -Path $destination -Type Directory $zipPath = Get-ChildItem "$(Build.StagingDirectory)\signedMacOSPackages\powershell-*.zip" -Recurse | select-object -expandproperty fullname foreach ($z in $zipPath) { Expand-Archive -Path $z -DestinationPath $destination } @@ -98,15 +90,15 @@ jobs: - template: upload-final-results.yml parameters: - artifactPath: $(System.ArtifactsDirectory)\azureMacOs + artifactPath: $(System.ArtifactsDirectory)\azureMacOs_${{ parameters.buildArchitecture }} artifactFilter: "*" - artifactName: signedMacOsBins + artifactName: signedMacOsBins_${{ parameters.buildArchitecture }} condition: and(succeeded(), eq(variables['SHOULD_SIGN'], 'true')) - ${{ if eq(variables['SHOULD_SIGN'], 'true') }}: - template: EsrpScan.yml@ComplianceRepo parameters: - scanPath: $(System.ArtifactsDirectory)\azureMacOs + scanPath: $(System.ArtifactsDirectory)\azureMacOs_${{ parameters.buildArchitecture }} pattern: | **\* diff --git a/tools/releaseBuild/azureDevOps/templates/mac-package-build.yml b/tools/releaseBuild/azureDevOps/templates/mac-package-build.yml index 342f8d3af8f..969aefa960d 100644 --- a/tools/releaseBuild/azureDevOps/templates/mac-package-build.yml +++ b/tools/releaseBuild/azureDevOps/templates/mac-package-build.yml @@ -1,11 +1,11 @@ parameters: parentJob: '' - jobName: 'package_macOS' + buildArchitecture: x64 jobs: -- job: ${{ parameters.jobName }} +- job: package_macOS_${{ parameters.buildArchitecture }} displayName: Package macOS - dependsOn: ${{ parameters.parentJob }} + dependsOn: MacFileSigningJob_${{ parameters.buildArchitecture }} condition: succeeded() pool: Hosted Mac Internal variables: @@ -40,13 +40,13 @@ jobs: displayName: Download macosBinResults inputs: artifactName: 'macosBinResults' - itemPattern: '**/*.zip' + itemPattern: '**/*${{ parameters.buildArchitecture }}.zip' downloadPath: '$(System.ArtifactsDirectory)/Symbols' - task: DownloadBuildArtifacts@0 displayName: Download signedMacOsBins inputs: - artifactName: 'signedMacOsBins' + artifactName: 'signedMacOsBins_${{ parameters.buildArchitecture }}' itemPattern: '**/*' downloadPath: '$(System.ArtifactsDirectory)/macOsBins' condition: and(succeeded(), eq(variables['SHOULD_SIGN'], 'true')) @@ -58,7 +58,7 @@ jobs: continueOnError: true - pwsh: | - $zipPath = Get-Item '$(System.ArtifactsDirectory)\Symbols\macosBinResults\*symbol*.zip' + $zipPath = Get-Item '$(System.ArtifactsDirectory)\Symbols\macosBinResults\*symbol*${{ parameters.buildArchitecture }}.zip' Write-Verbose -Verbose "Zip Path: $zipPath" $expandedFolder = $zipPath.BaseName diff --git a/tools/releaseBuild/azureDevOps/templates/mac-package-signing.yml b/tools/releaseBuild/azureDevOps/templates/mac-package-signing.yml index a10a908afcb..cbff650827b 100644 --- a/tools/releaseBuild/azureDevOps/templates/mac-package-signing.yml +++ b/tools/releaseBuild/azureDevOps/templates/mac-package-signing.yml @@ -1,10 +1,10 @@ parameters: - parentJob: '' + buildArchitecture: x64 jobs: - job: MacPackageSigningJob displayName: macOS Package signing - dependsOn: ${{ parameters.parentJob }} + dependsOn: package_macOS_${{ parameters.buildArchitecture }} condition: succeeded() pool: name: Package ES Standard Build @@ -41,15 +41,15 @@ jobs: - pwsh: | $null = new-item -type directory -path "$(Build.StagingDirectory)\macos" - $zipFile = "$(Build.StagingDirectory)\macos\powershell-$(Version)-osx-x64.zip" - Compress-Archive -Path "$(System.ArtifactsDirectory)\macosPkgResults\powershell-$(Version)-osx-x64.pkg" -Destination $zipFile + $zipFile = "$(Build.StagingDirectory)\macos\powershell-$(Version)-osx-${{ parameters.buildArchitecture }}.zip" + Compress-Archive -Path "$(System.ArtifactsDirectory)\macosPkgResults\powershell-$(Version)-osx-${{ parameters.buildArchitecture }}.pkg" -Destination $zipFile Write-Host $zipFile - $ltsPkgPath = "$(System.ArtifactsDirectory)\macosPkgResults\powershell-lts-$(Version)-osx-x64.pkg" + $ltsPkgPath = "$(System.ArtifactsDirectory)\macosPkgResults\powershell-lts-$(Version)-osx-${{ parameters.buildArchitecture }}.pkg" if(Test-Path $ltsPkgPath) { - $ltsZipFile = "$(Build.StagingDirectory)\macos\powershell-lts-$(Version)-osx-x64.zip" + $ltsZipFile = "$(Build.StagingDirectory)\macos\powershell-lts-$(Version)-osx-${{ parameters.buildArchitecture }}.zip" Compress-Archive -Path $ltsPkgPath -Destination $ltsZipFile Write-Host $ltsZipFile } From fadd92421784ece80ccf326305484f5d4ef0da5b Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Tue, 13 Jul 2021 11:16:53 -0700 Subject: [PATCH 17/33] Fix matrix --- tools/releaseBuild/azureDevOps/releaseBuild.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tools/releaseBuild/azureDevOps/releaseBuild.yml b/tools/releaseBuild/azureDevOps/releaseBuild.yml index 564f1fb13b1..bf445af610e 100644 --- a/tools/releaseBuild/azureDevOps/releaseBuild.yml +++ b/tools/releaseBuild/azureDevOps/releaseBuild.yml @@ -36,11 +36,12 @@ stages: - stage: macos dependsOn: ['prep'] - matrix: - x64: - buildArchitecture: x64 - arm64: - buildArchitecture: arm64 + strategy: + matrix: + x64: + buildArchitecture: x64 + arm64: + buildArchitecture: arm64 jobs: - template: templates/mac.yml parameters: From a110cbb30b5ddb4ea7e0cb0620f53ee4d4d13e13 Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Tue, 13 Jul 2021 11:19:04 -0700 Subject: [PATCH 18/33] Ditch matrix --- .../releaseBuild/azureDevOps/releaseBuild.yml | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/tools/releaseBuild/azureDevOps/releaseBuild.yml b/tools/releaseBuild/azureDevOps/releaseBuild.yml index bf445af610e..ca4f098d208 100644 --- a/tools/releaseBuild/azureDevOps/releaseBuild.yml +++ b/tools/releaseBuild/azureDevOps/releaseBuild.yml @@ -36,28 +36,38 @@ stages: - stage: macos dependsOn: ['prep'] - strategy: - matrix: - x64: - buildArchitecture: x64 - arm64: - buildArchitecture: arm64 jobs: - template: templates/mac.yml parameters: - buildArchitecture: $(buildArchitecture) + buildArchitecture: x64 + + - template: templates/mac.yml + parameters: + buildArchitecture: arm64 + + - template: templates/mac-file-signing.yml + parameters: + buildArchitecture: x64 - template: templates/mac-file-signing.yml parameters: - buildArchitecture: $(buildArchitecture) + buildArchitecture: arm64 + + - template: templates/mac-package-build.yml + parameters: + buildArchitecture: x64 - template: templates/mac-package-build.yml parameters: - buildArchitecture: $(buildArchitecture) + buildArchitecture: arm64 - template: templates/mac-package-signing.yml parameters: - buildArchitecture: $(buildArchitecture) + buildArchitecture: x64 + + - template: templates/mac-package-signing.yml + parameters: + buildArchitecture: arm64 - stage: linux dependsOn: ['prep'] From 1699d2905cd12ad86a745b5fcc5be46403cebd9d Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Tue, 13 Jul 2021 11:19:56 -0700 Subject: [PATCH 19/33] Fix job name --- .../releaseBuild/azureDevOps/templates/mac-package-signing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/releaseBuild/azureDevOps/templates/mac-package-signing.yml b/tools/releaseBuild/azureDevOps/templates/mac-package-signing.yml index cbff650827b..7a43e6973ab 100644 --- a/tools/releaseBuild/azureDevOps/templates/mac-package-signing.yml +++ b/tools/releaseBuild/azureDevOps/templates/mac-package-signing.yml @@ -2,7 +2,7 @@ parameters: buildArchitecture: x64 jobs: -- job: MacPackageSigningJob +- job: MacPackageSigningJob_${{ parameters.buildArchitecture }} displayName: macOS Package signing dependsOn: package_macOS_${{ parameters.buildArchitecture }} condition: succeeded() From 8ca450ca76b76409c164df46be1f468cf1c82b94 Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Tue, 13 Jul 2021 13:52:36 -0700 Subject: [PATCH 20/33] Add specific arch names --- .../releaseBuild/azureDevOps/templates/mac-file-signing.yml | 2 +- .../azureDevOps/templates/mac-package-build.yml | 6 +++--- .../azureDevOps/templates/mac-package-signing.yml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml b/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml index b850bcb1432..bc111a46b07 100644 --- a/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml +++ b/tools/releaseBuild/azureDevOps/templates/mac-file-signing.yml @@ -3,7 +3,7 @@ parameters: jobs: - job: MacFileSigningJob_${{ parameters.buildArchitecture }} - displayName: macOS File signing + displayName: macOS File signing ${{ parameters.buildArchitecture }} dependsOn: build_macOS_${{ parameters.buildArchitecture }} condition: succeeded() pool: diff --git a/tools/releaseBuild/azureDevOps/templates/mac-package-build.yml b/tools/releaseBuild/azureDevOps/templates/mac-package-build.yml index 969aefa960d..1bd853dec53 100644 --- a/tools/releaseBuild/azureDevOps/templates/mac-package-build.yml +++ b/tools/releaseBuild/azureDevOps/templates/mac-package-build.yml @@ -4,7 +4,7 @@ parameters: jobs: - job: package_macOS_${{ parameters.buildArchitecture }} - displayName: Package macOS + displayName: Package macOS ${{ parameters.buildArchitecture }} dependsOn: MacFileSigningJob_${{ parameters.buildArchitecture }} condition: succeeded() pool: Hosted Mac Internal @@ -71,7 +71,7 @@ jobs: - pwsh: | Import-Module $(PowerShellRoot)/build.psm1 -Force Import-Module $(PowerShellRoot)/tools/packaging -Force - $signedFilesPath = '$(System.ArtifactsDirectory)/macOsBins/signedMacOsBins/' + $signedFilesPath = '$(System.ArtifactsDirectory)/macOsBins/signedMacOsBins_${{ parameters.buildArchitecture }}/' $BuildPath = '$(System.ArtifactsDirectory)\$(SymbolsFolder)' Update-PSSignedBuildFolder -BuildPath $BuildPath -SignedFilesPath $SignedFilesPath @@ -102,7 +102,7 @@ jobs: displayName: 'Bootstrap VM' - pwsh: | - $(Build.SourcesDirectory)/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 -ReleaseTag $(ReleaseTagVar) -Destination $(System.ArtifactsDirectory) -location $(PowerShellRoot) -ArtifactName macosPkgResults -BuildZip $(BuildPackagePath) -ExtraPackage "tar" + $(Build.SourcesDirectory)/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 -ReleaseTag $(ReleaseTagVar) -Destination $(System.ArtifactsDirectory) -location $(PowerShellRoot) -ArtifactName macosPkgResults -BuildZip $(BuildPackagePath) -ExtraPackage "tar" -Runtime 'osx-${{ parameters.buildArchitecture }}' displayName: 'Package' - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0 diff --git a/tools/releaseBuild/azureDevOps/templates/mac-package-signing.yml b/tools/releaseBuild/azureDevOps/templates/mac-package-signing.yml index 7a43e6973ab..669fa94dca4 100644 --- a/tools/releaseBuild/azureDevOps/templates/mac-package-signing.yml +++ b/tools/releaseBuild/azureDevOps/templates/mac-package-signing.yml @@ -3,7 +3,7 @@ parameters: jobs: - job: MacPackageSigningJob_${{ parameters.buildArchitecture }} - displayName: macOS Package signing + displayName: macOS Package signing ${{ parameters.buildArchitecture }} dependsOn: package_macOS_${{ parameters.buildArchitecture }} condition: succeeded() pool: From e9ee18533a2308e08c88f897d7c21e24e3140d7a Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Tue, 13 Jul 2021 14:08:16 -0700 Subject: [PATCH 21/33] Remove bad parameter --- tools/releaseBuild/azureDevOps/templates/mac-package-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/releaseBuild/azureDevOps/templates/mac-package-build.yml b/tools/releaseBuild/azureDevOps/templates/mac-package-build.yml index 1bd853dec53..4a9d4c5f38e 100644 --- a/tools/releaseBuild/azureDevOps/templates/mac-package-build.yml +++ b/tools/releaseBuild/azureDevOps/templates/mac-package-build.yml @@ -102,7 +102,7 @@ jobs: displayName: 'Bootstrap VM' - pwsh: | - $(Build.SourcesDirectory)/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 -ReleaseTag $(ReleaseTagVar) -Destination $(System.ArtifactsDirectory) -location $(PowerShellRoot) -ArtifactName macosPkgResults -BuildZip $(BuildPackagePath) -ExtraPackage "tar" -Runtime 'osx-${{ parameters.buildArchitecture }}' + $(Build.SourcesDirectory)/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 -ReleaseTag $(ReleaseTagVar) -Destination $(System.ArtifactsDirectory) -location $(PowerShellRoot) -ArtifactName macosPkgResults -BuildZip $(BuildPackagePath) -ExtraPackage "tar" displayName: 'Package' - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0 From 7aa86e23e7ddb2b2a8c190b1eb8a555792ee9ea1 Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Tue, 13 Jul 2021 14:36:24 -0700 Subject: [PATCH 22/33] Add runtime to packaging step --- .../releaseBuild/azureDevOps/templates/mac-package-build.yml | 2 +- tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/releaseBuild/azureDevOps/templates/mac-package-build.yml b/tools/releaseBuild/azureDevOps/templates/mac-package-build.yml index 4a9d4c5f38e..1bd853dec53 100644 --- a/tools/releaseBuild/azureDevOps/templates/mac-package-build.yml +++ b/tools/releaseBuild/azureDevOps/templates/mac-package-build.yml @@ -102,7 +102,7 @@ jobs: displayName: 'Bootstrap VM' - pwsh: | - $(Build.SourcesDirectory)/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 -ReleaseTag $(ReleaseTagVar) -Destination $(System.ArtifactsDirectory) -location $(PowerShellRoot) -ArtifactName macosPkgResults -BuildZip $(BuildPackagePath) -ExtraPackage "tar" + $(Build.SourcesDirectory)/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 -ReleaseTag $(ReleaseTagVar) -Destination $(System.ArtifactsDirectory) -location $(PowerShellRoot) -ArtifactName macosPkgResults -BuildZip $(BuildPackagePath) -ExtraPackage "tar" -Runtime 'osx-${{ parameters.buildArchitecture }}' displayName: 'Package' - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0 diff --git a/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 b/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 index cccb7b40c70..70c19c03a54 100644 --- a/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 +++ b/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 @@ -43,6 +43,7 @@ param ( [string]$BuildZip, [Parameter(Mandatory, ParameterSetName = 'IncludeSymbols')] + [Parameter(Mandatory, ParameterSetName = 'packageSigned')] [ValidateSet('osx-x64', 'osx-arm64')] [string]$Runtime, @@ -90,13 +91,13 @@ try { Start-PSPackage @pspackageParams @releaseTagParam switch ($ExtraPackage) { - "tar" { Start-PSPackage -Type tar @pspackageParams @releaseTagParam } + "tar" { Start-PSPackage -Type tar @pspackageParams @releaseTagParam -MacOSRuntime $Runtime } } if ($LTS) { Start-PSPackage @releaseTagParam -LTS switch ($ExtraPackage) { - "tar" { Start-PSPackage -Type tar @pspackageParams @releaseTagParam -LTS } + "tar" { Start-PSPackage -Type tar @pspackageParams @releaseTagParam -LTS -MacOSRuntime $Runtime } } } } From 136f24f37f7faf7d39f4ac473294318502ddbdcd Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Tue, 13 Jul 2021 14:56:51 -0700 Subject: [PATCH 23/33] Always include runtime --- .../releaseBuild/macOS/PowerShellPackageVsts.ps1 | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 b/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 index 70c19c03a54..3b243dc71b4 100644 --- a/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 +++ b/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 @@ -42,8 +42,9 @@ param ( [ValidatePattern("-signed.zip$")] [string]$BuildZip, - [Parameter(Mandatory, ParameterSetName = 'IncludeSymbols')] [Parameter(Mandatory, ParameterSetName = 'packageSigned')] + [Parameter(Mandatory, ParameterSetName = 'IncludeSymbols')] + [Parameter(Mandatory, ParameterSetName = 'Build')] [ValidateSet('osx-x64', 'osx-arm64')] [string]$Runtime, @@ -72,7 +73,7 @@ if ($Build -or $PSCmdlet.ParameterSetName -eq 'packageSigned') { Push-Location try { - $pspackageParams = @{ SkipReleaseChecks = $SkipReleaseChecks } + $pspackageParams = @{ SkipReleaseChecks = $SkipReleaseChecks; MacOSRuntime = $Runtime } Write-Verbose -Message "Init..." -Verbose Set-Location $repoRoot Import-Module "$repoRoot/build.psm1" @@ -91,13 +92,13 @@ try { Start-PSPackage @pspackageParams @releaseTagParam switch ($ExtraPackage) { - "tar" { Start-PSPackage -Type tar @pspackageParams @releaseTagParam -MacOSRuntime $Runtime } + "tar" { Start-PSPackage -Type tar @pspackageParams @releaseTagParam } } if ($LTS) { - Start-PSPackage @releaseTagParam -LTS + Start-PSPackage @pspackageParams @releaseTagParam -LTS switch ($ExtraPackage) { - "tar" { Start-PSPackage -Type tar @pspackageParams @releaseTagParam -LTS -MacOSRuntime $Runtime } + "tar" { Start-PSPackage -Type tar @pspackageParams @releaseTagParam -LTS } } } } @@ -109,9 +110,9 @@ try { $pspackageParams['Type']='zip' $pspackageParams['IncludeSymbols']=$Symbols.IsPresent Write-Verbose "Starting powershell packaging(zip)..." -Verbose - Start-PSPackage @pspackageParams @releaseTagParam -MacOSRuntime $Runtime + Start-PSPackage @pspackageParams @releaseTagParam } else { - Start-PSBuild -Configuration 'Release' -Crossgen:$runCrossgen -PSModuleRestore @releaseTagParam + Start-PSBuild -Configuration 'Release' -Crossgen:$runCrossgen -PSModuleRestore @releaseTagParam -Runtime $Runtime Start-PSPackage @pspackageParams @releaseTagParam switch ($ExtraPackage) { "tar" { Start-PSPackage -Type tar @pspackageParams @releaseTagParam } From 09a9d62e8941635798175b9c04b6201560752d4c Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Tue, 13 Jul 2021 15:34:45 -0700 Subject: [PATCH 24/33] Fix tar architecture --- tools/packaging/packaging.psm1 | 4 ++++ .../azureDevOps/templates/mac-package-signing.yml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/tools/packaging/packaging.psm1 b/tools/packaging/packaging.psm1 index 00fade35bc4..6b9c91da5d6 100644 --- a/tools/packaging/packaging.psm1 +++ b/tools/packaging/packaging.psm1 @@ -429,6 +429,10 @@ function Start-PSPackage { Force = $Force } + if ($MacOSRuntime) { + $Arguments['Architecture'] = $MacOSRuntime.Split('-')[1] + } + if ($PSCmdlet.ShouldProcess("Create tar.gz Package")) { New-TarballPackage @Arguments } diff --git a/tools/releaseBuild/azureDevOps/templates/mac-package-signing.yml b/tools/releaseBuild/azureDevOps/templates/mac-package-signing.yml index 669fa94dca4..c8a7ab7e2bc 100644 --- a/tools/releaseBuild/azureDevOps/templates/mac-package-signing.yml +++ b/tools/releaseBuild/azureDevOps/templates/mac-package-signing.yml @@ -69,7 +69,7 @@ jobs: - template: upload-final-results.yml parameters: artifactPath: $(System.ArtifactsDirectory)\macosPkgResults - artifactFilter: "*.tar.gz" + artifactFilter: "*${{ parameters.buildArchitecture }}.tar.gz" - pwsh: | $destination = "$(System.ArtifactsDirectory)\azureMacOs" From eb9c1e510acd413c082fd26150f5e8353f5095ba Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Thu, 15 Jul 2021 12:19:00 -0700 Subject: [PATCH 25/33] Address @adityapatwardhan's comments --- build.psm1 | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/build.psm1 b/build.psm1 index fbcba37a808..83ec264b860 100644 --- a/build.psm1 +++ b/build.psm1 @@ -141,6 +141,9 @@ function Get-EnvironmentInformation if ($environment.IsMacOS) { $environment += @{'UsingHomebrew' = [bool](Get-Command brew -ErrorAction ignore)} $environment += @{'UsingMacports' = [bool](Get-Command port -ErrorAction ignore)} + $environment += @{ + 'Architecture' = if ((Start-NativeExecution -IgnoreExitCode { (arch -arm64 uname -p) -eq 'arm' } 2>$null)) { 'arm64' } else { 'x64' } + } if (-not($environment.UsingHomebrew -or $environment.UsingMacports)) { throw "Neither Homebrew nor MacPorts is installed on this system, visit https://brew.sh/ or https://www.macports.org/ to continue" @@ -439,10 +442,9 @@ Fix steps: } # Framework Dependent builds do not support ReadyToRun as it needs a specific runtime to optimize for. - # M1/ARM64 macOS similarly does not support ReadyToRun # The property is set in Powershell.Common.props file. # We override the property through the build command line. - if($Options.Runtime -eq 'osx-arm64' -or $Options.Runtime -like 'fxdependent*' -or $ForMinimalSize) { + if($Options.Runtime -like 'fxdependent*' -or $ForMinimalSize) { $Arguments += "/property:PublishReadyToRun=false" } @@ -3379,8 +3381,3 @@ function New-NugetConfigFile Set-Content -Path (Join-Path $Destination 'nuget.config') -Value $content -Force } - -function Test-IsArm64MacOS -{ - return $IsMacOS -and (Start-NativeExecution -IgnoreExitCode { (arch -arm64 uname -p) -eq 'arm' } 2>$null) -} From 488bbe7f4e0c14ab48a91caf10093fcc0d9d0b8e Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Thu, 15 Jul 2021 15:28:17 -0700 Subject: [PATCH 26/33] Skip Start-NativeExecution for macOS M1 detection --- build.psm1 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build.psm1 b/build.psm1 index 83ec264b860..90ff9428652 100644 --- a/build.psm1 +++ b/build.psm1 @@ -141,8 +141,10 @@ function Get-EnvironmentInformation if ($environment.IsMacOS) { $environment += @{'UsingHomebrew' = [bool](Get-Command brew -ErrorAction ignore)} $environment += @{'UsingMacports' = [bool](Get-Command port -ErrorAction ignore)} + + $isArm64 = (Get-Command -CommandType Application -Name arch -ErrorAction SilentlyContinue) -and (arch -arm64 uname -p 2>$null) -eq 'arm' $environment += @{ - 'Architecture' = if ((Start-NativeExecution -IgnoreExitCode { (arch -arm64 uname -p) -eq 'arm' } 2>$null)) { 'arm64' } else { 'x64' } + 'Architecture' = if ($isArm64) { 'arm64' } else { 'x64' } } if (-not($environment.UsingHomebrew -or $environment.UsingMacports)) { From eac75d549732f33829ad21b6dd7f450bfa18142e Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Fri, 16 Jul 2021 13:13:19 -0700 Subject: [PATCH 27/33] Fix arm64 detection --- build.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.psm1 b/build.psm1 index 90ff9428652..4d706150467 100644 --- a/build.psm1 +++ b/build.psm1 @@ -142,7 +142,7 @@ function Get-EnvironmentInformation $environment += @{'UsingHomebrew' = [bool](Get-Command brew -ErrorAction ignore)} $environment += @{'UsingMacports' = [bool](Get-Command port -ErrorAction ignore)} - $isArm64 = (Get-Command -CommandType Application -Name arch -ErrorAction SilentlyContinue) -and (arch -arm64 uname -p 2>$null) -eq 'arm' + $isArm64 = (Get-Command -Name arch -ErrorAction SilentlyContinue) -and (arch -arm64 uname -p 2>$null) -eq 'arm' $environment += @{ 'Architecture' = if ($isArm64) { 'arm64' } else { 'x64' } } From 149d4dd04a18029ba37317b24d6b0dd80d878114 Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Fri, 16 Jul 2021 13:19:58 -0700 Subject: [PATCH 28/33] Get more import error output --- tools/ci.psm1 | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/tools/ci.psm1 b/tools/ci.psm1 index afdf5b81bab..0557e6968e2 100644 --- a/tools/ci.psm1 +++ b/tools/ci.psm1 @@ -16,8 +16,16 @@ if(Test-Path $dotNetPath) } # import build into the global scope so it can be used by packaging -Import-Module (Join-Path $repoRoot 'build.psm1') -Scope Global -Import-Module (Join-Path $repoRoot 'tools\packaging') -Scope Global +try +{ + Import-Module (Join-Path $repoRoot 'build.psm1') -Verbose -Scope Global -ErrorAction Stop + Import-Module (Join-Path $repoRoot 'tools\packaging') -Verbose -Scope Global -ErrorAction Stop +} +catch +{ + Get-Error + throw +} # import the windows specific functcion only in Windows PowerShell or on Windows if($PSVersionTable.PSEdition -eq 'Desktop' -or $IsWindows) From 0d6a9c94499ecb79d6a9ea889dc4af67014f9c70 Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Fri, 16 Jul 2021 13:47:29 -0700 Subject: [PATCH 29/33] Add trace output --- .vsts-ci/templates/ci-build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.vsts-ci/templates/ci-build.yml b/.vsts-ci/templates/ci-build.yml index b88aa1b7c3d..43d473a678a 100644 --- a/.vsts-ci/templates/ci-build.yml +++ b/.vsts-ci/templates/ci-build.yml @@ -31,6 +31,7 @@ jobs: condition: succeededOrFailed() - pwsh: | + Set-PSDebug -Trace 1 Import-Module .\tools\ci.psm1 Invoke-CIInstall -SkipUser displayName: Bootstrap From 6f1db55d8b37feeb48f8bf3a57e73c3a182e3741 Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Fri, 16 Jul 2021 13:54:53 -0700 Subject: [PATCH 30/33] Try Get-Error --- .vsts-ci/templates/ci-build.yml | 1 - tools/ci.psm1 | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.vsts-ci/templates/ci-build.yml b/.vsts-ci/templates/ci-build.yml index 43d473a678a..b88aa1b7c3d 100644 --- a/.vsts-ci/templates/ci-build.yml +++ b/.vsts-ci/templates/ci-build.yml @@ -31,7 +31,6 @@ jobs: condition: succeededOrFailed() - pwsh: | - Set-PSDebug -Trace 1 Import-Module .\tools\ci.psm1 Invoke-CIInstall -SkipUser displayName: Bootstrap diff --git a/tools/ci.psm1 b/tools/ci.psm1 index 0557e6968e2..cd22d984605 100644 --- a/tools/ci.psm1 +++ b/tools/ci.psm1 @@ -23,7 +23,7 @@ try } catch { - Get-Error + Get-Error | Out-Host throw } From bb7c64616def13b0b25afbdceaccdfc45438aff4 Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Fri, 16 Jul 2021 13:57:21 -0700 Subject: [PATCH 31/33] Use uname test for M1 arch --- build.psm1 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build.psm1 b/build.psm1 index 4d706150467..2b3b414c1ef 100644 --- a/build.psm1 +++ b/build.psm1 @@ -142,9 +142,8 @@ function Get-EnvironmentInformation $environment += @{'UsingHomebrew' = [bool](Get-Command brew -ErrorAction ignore)} $environment += @{'UsingMacports' = [bool](Get-Command port -ErrorAction ignore)} - $isArm64 = (Get-Command -Name arch -ErrorAction SilentlyContinue) -and (arch -arm64 uname -p 2>$null) -eq 'arm' $environment += @{ - 'Architecture' = if ($isArm64) { 'arm64' } else { 'x64' } + 'OSArchitecture' = if ((uname -v) -match 'ARM64') { 'arm64' } else { 'x64' } } if (-not($environment.UsingHomebrew -or $environment.UsingMacports)) { From 25c525e305ba7a092e282b0b632975199b7825f8 Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Fri, 16 Jul 2021 14:04:45 -0700 Subject: [PATCH 32/33] Remove try/catch --- tools/ci.psm1 | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/tools/ci.psm1 b/tools/ci.psm1 index cd22d984605..bcd5e4e1be5 100644 --- a/tools/ci.psm1 +++ b/tools/ci.psm1 @@ -16,16 +16,8 @@ if(Test-Path $dotNetPath) } # import build into the global scope so it can be used by packaging -try -{ - Import-Module (Join-Path $repoRoot 'build.psm1') -Verbose -Scope Global -ErrorAction Stop - Import-Module (Join-Path $repoRoot 'tools\packaging') -Verbose -Scope Global -ErrorAction Stop -} -catch -{ - Get-Error | Out-Host - throw -} +Import-Module (Join-Path $repoRoot 'build.psm1') -Verbose -Scope Global -ErrorAction Stop +Import-Module (Join-Path $repoRoot 'tools\packaging') -Verbose -Scope Global -ErrorAction Stop # import the windows specific functcion only in Windows PowerShell or on Windows if($PSVersionTable.PSEdition -eq 'Desktop' -or $IsWindows) From 5227d5986b77b1ba92dc0479540eb7a56b0dbb23 Mon Sep 17 00:00:00 2001 From: Robert Holt Date: Fri, 16 Jul 2021 14:15:32 -0700 Subject: [PATCH 33/33] Remove ErrorAction setting --- tools/ci.psm1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/ci.psm1 b/tools/ci.psm1 index bcd5e4e1be5..31c9a7bffe3 100644 --- a/tools/ci.psm1 +++ b/tools/ci.psm1 @@ -16,8 +16,8 @@ if(Test-Path $dotNetPath) } # import build into the global scope so it can be used by packaging -Import-Module (Join-Path $repoRoot 'build.psm1') -Verbose -Scope Global -ErrorAction Stop -Import-Module (Join-Path $repoRoot 'tools\packaging') -Verbose -Scope Global -ErrorAction Stop +Import-Module (Join-Path $repoRoot 'build.psm1') -Verbose -Scope Global +Import-Module (Join-Path $repoRoot 'tools\packaging') -Verbose -Scope Global # import the windows specific functcion only in Windows PowerShell or on Windows if($PSVersionTable.PSEdition -eq 'Desktop' -or $IsWindows)