From e95433dce7304e5e35eeec24e9eb40f7e77f964d Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Tue, 3 Oct 2017 10:43:17 -0700 Subject: [PATCH 1/8] Add readme on how to use --- tools/releaseBuild/README.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 tools/releaseBuild/README.md diff --git a/tools/releaseBuild/README.md b/tools/releaseBuild/README.md new file mode 100644 index 00000000000..e27b90a414d --- /dev/null +++ b/tools/releaseBuild/README.md @@ -0,0 +1,31 @@ +# VSTS Release Builds + +## Requirements + +Docker must be installed to run any of the release builds. + +## Running Windows Release Builds + +From PowerShell on Windows, run `.\vstsbuild.ps1 -ReleaseTag -Name `. + +Windows Build Names: + * `win7-x64` + * Builds the Universal Windows x64 Package + * `win7-x86` + * Builds the Universal Windows x86 Package + * `win7-x64-symbols` + * Builds the Windows x64 Zip with symbols + * `win7-x86-symbols` + * Builds the Windows x86 Zip with symbols + +## Running Linux Release Builds + +From PowerShell on Linux or macOS, run `.\vstsbuild.ps1 -ReleaseTag -Name `. + +Linux Build Names: + * `ubuntu.14.04` + * Builds the Ubuntu 14.04 Package and AppImage Package + * `ubuntu.16.04` + * Builds the Ubuntu 16.04 Package + * `centos.7` + * Builds the CentOs 7 Package From 562e2e958142d1e44aa46f2c8ea8fc2888f7361b Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Tue, 3 Oct 2017 10:43:41 -0700 Subject: [PATCH 2/8] update windows packaging script to support symbol package generation --- .../PowerShellPackage.ps1 | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 b/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 index 2c5a7fd7133..359957730fe 100644 --- a/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 +++ b/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 @@ -10,7 +10,8 @@ param ( [switch] $Wait, [ValidatePattern("^v\d+\.\d+\.\d+(-\w+\.\d+)?$")] [ValidateNotNullOrEmpty()] - [string]$ReleaseTag + [string]$ReleaseTag, + [switch] $Symbols ) $releaseTagParam = @{} @@ -55,7 +56,13 @@ try{ Start-PSBootstrap -Force -Package Write-Verbose "Starting powershell build for RID: $Runtime and ReleaseTag: $ReleaseTag ..." -verbose - Start-PSBuild -Clean -CrossGen -PSModuleRestore -Runtime $Runtime -Configuration Release @releaseTagParam + $buildParams = @{} + if(!$Symbols.IsPresent) + { + $buildParams['CrossGen'] = $true + } + + Start-PSBuild -Clean -PSModuleRestore -Runtime $Runtime -Configuration Release @releaseTagParam @buildParams $pspackageParams = @{'Type'='msi'} if ($Runtime -ne 'win10-x64') @@ -63,8 +70,11 @@ try{ $pspackageParams += @{'WindowsRuntime'=$Runtime} } - Write-Verbose "Starting powershell packaging(msi)..." -verbose - Start-PSPackage @pspackageParams @releaseTagParam + if(!$Symbols.IsPresent) + { + Write-Verbose "Starting powershell packaging(msi)..." -verbose + Start-PSPackage @pspackageParams @releaseTagParam + } $pspackageParams['Type']='zip' Write-Verbose "Starting powershell packaging(zip)..." -verbose From 42f1c7122d2a146a548056aea8ddf9a60c5da1a4 Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Tue, 3 Oct 2017 10:43:59 -0700 Subject: [PATCH 3/8] Add symbol builds --- tools/releaseBuild/build.json | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tools/releaseBuild/build.json b/tools/releaseBuild/build.json index 1b309bc3dd8..adbfa09e577 100644 --- a/tools/releaseBuild/build.json +++ b/tools/releaseBuild/build.json @@ -23,6 +23,30 @@ "DockerFile": ".\\tools\\releaseBuild\\Images\\microsoft_powershell_windowsservercore\\DockerFile", "AdditionalContextFiles" :[ ".\\tools\\releaseBuild\\Images\\microsoft_powershell_windowsservercore\\PowerShellPackage.ps1"], "DockerImageName": "ps-winsrvcore" + }, + { + "Name": "win7-x64-symbols", + "RepoDestinationPath": "C:\\PowerShell", + "BuildCommand": "C:\\PowerShellPackage.ps1 -location _RepoDestinationPath_ -destination _DockerVolume_ -Runtime win7-x64 -ReleaseTag _ReleaseTag_ -Symbols", + "BuildDockerOptions": [ + "-m", + "3968m" + ], + "DockerFile": ".\\tools\\releaseBuild\\Images\\microsoft_powershell_windowsservercore\\DockerFile", + "AdditionalContextFiles" :[ ".\\tools\\releaseBuild\\Images\\microsoft_powershell_windowsservercore\\PowerShellPackage.ps1"], + "DockerImageName": "ps-winsrvcore" + }, + { + "Name": "win7-x86-symbols", + "RepoDestinationPath": "C:\\PowerShell", + "BuildCommand": "C:\\PowerShellPackage.ps1 -location _RepoDestinationPath_ -destination _DockerVolume_ -Runtime win7-x86 -ReleaseTag _ReleaseTag_ -Symbols", + "BuildDockerOptions": [ + "-m", + "3968m" + ], + "DockerFile": ".\\tools\\releaseBuild\\Images\\microsoft_powershell_windowsservercore\\DockerFile", + "AdditionalContextFiles" :[ ".\\tools\\releaseBuild\\Images\\microsoft_powershell_windowsservercore\\PowerShellPackage.ps1"], + "DockerImageName": "ps-winsrvcore" } ], "Linux": [ From 547e3fa4d3c588d00fe2f00c2dd5b346630649b4 Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Tue, 3 Oct 2017 12:37:13 -0700 Subject: [PATCH 4/8] Add new build names --- tools/releaseBuild/vstsbuild.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/releaseBuild/vstsbuild.ps1 b/tools/releaseBuild/vstsbuild.ps1 index 9ef0d4e90ca..d2c296a0c14 100644 --- a/tools/releaseBuild/vstsbuild.ps1 +++ b/tools/releaseBuild/vstsbuild.ps1 @@ -3,12 +3,12 @@ param( [ValidatePattern("^v\d+\.\d+\.\d+(-\w+\.\d+)?$")] [string]$ReleaseTag, - [ValidateSet('win7-x86','win7-x64','ubuntu.14.04','ubuntu.16.04','centos.7')] + [ValidateSet('win7-x86','win7-x64','win7-x86-symbols','win7-x64-symbols','ubuntu.14.04','ubuntu.16.04','centos.7')] [String] $Name ) -$ErrorActionPreference = 'Stop' +$ErrorActionPreference = 'Stop' $psReleaseBranch = 'master' $psReleaseFork = 'PowerShell' From 5a55af721c4780f0cd84f360a91a575925e48472 Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Tue, 10 Oct 2017 15:51:55 -0700 Subject: [PATCH 5/8] Add '-includeSymbols' when packaging symbols build --- .../PowerShellPackage.ps1 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 b/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 index 359957730fe..a8f7c76720e 100644 --- a/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 +++ b/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 @@ -75,6 +75,11 @@ try{ Write-Verbose "Starting powershell packaging(msi)..." -verbose Start-PSPackage @pspackageParams @releaseTagParam } + else + { + $pspackageParams += @{'IncludeSymbols' = $true} + + } $pspackageParams['Type']='zip' Write-Verbose "Starting powershell packaging(zip)..." -verbose From cad325b2c2fe80b148ad64297aef8c6343ecd7bd Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Wed, 11 Oct 2017 14:29:06 -0700 Subject: [PATCH 6/8] Fix spelling issue --- tools/releaseBuild/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/releaseBuild/README.md b/tools/releaseBuild/README.md index e27b90a414d..838933702fe 100644 --- a/tools/releaseBuild/README.md +++ b/tools/releaseBuild/README.md @@ -9,6 +9,7 @@ Docker must be installed to run any of the release builds. From PowerShell on Windows, run `.\vstsbuild.ps1 -ReleaseTag -Name `. Windows Build Names: + * `win7-x64` * Builds the Universal Windows x64 Package * `win7-x86` @@ -23,9 +24,10 @@ Windows Build Names: From PowerShell on Linux or macOS, run `.\vstsbuild.ps1 -ReleaseTag -Name `. Linux Build Names: + * `ubuntu.14.04` * Builds the Ubuntu 14.04 Package and AppImage Package * `ubuntu.16.04` * Builds the Ubuntu 16.04 Package * `centos.7` - * Builds the CentOs 7 Package + * Builds the CentOS 7 Package From 1435d42454762d409d2f0ae6f608a945c793a5bf Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Thu, 12 Oct 2017 12:57:50 -0700 Subject: [PATCH 7/8] add buckets for each build --- tools/releaseBuild/build.json | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/tools/releaseBuild/build.json b/tools/releaseBuild/build.json index adbfa09e577..f61bb05de77 100644 --- a/tools/releaseBuild/build.json +++ b/tools/releaseBuild/build.json @@ -10,7 +10,8 @@ ], "DockerFile": ".\\tools\\releaseBuild\\Images\\microsoft_powershell_windowsservercore\\DockerFile", "AdditionalContextFiles" :[ ".\\tools\\releaseBuild\\Images\\microsoft_powershell_windowsservercore\\PowerShellPackage.ps1"], - "DockerImageName": "ps-winsrvcore" + "DockerImageName": "ps-winsrvcore", + "BinaryBucket": "release" }, { "Name": "win7-x86", @@ -22,7 +23,8 @@ ], "DockerFile": ".\\tools\\releaseBuild\\Images\\microsoft_powershell_windowsservercore\\DockerFile", "AdditionalContextFiles" :[ ".\\tools\\releaseBuild\\Images\\microsoft_powershell_windowsservercore\\PowerShellPackage.ps1"], - "DockerImageName": "ps-winsrvcore" + "DockerImageName": "ps-winsrvcore", + "BinaryBucket": "release" }, { "Name": "win7-x64-symbols", @@ -34,7 +36,8 @@ ], "DockerFile": ".\\tools\\releaseBuild\\Images\\microsoft_powershell_windowsservercore\\DockerFile", "AdditionalContextFiles" :[ ".\\tools\\releaseBuild\\Images\\microsoft_powershell_windowsservercore\\PowerShellPackage.ps1"], - "DockerImageName": "ps-winsrvcore" + "DockerImageName": "ps-winsrvcore", + "BinaryBucket": "symbols" }, { "Name": "win7-x86-symbols", @@ -46,7 +49,8 @@ ], "DockerFile": ".\\tools\\releaseBuild\\Images\\microsoft_powershell_windowsservercore\\DockerFile", "AdditionalContextFiles" :[ ".\\tools\\releaseBuild\\Images\\microsoft_powershell_windowsservercore\\PowerShellPackage.ps1"], - "DockerImageName": "ps-winsrvcore" + "DockerImageName": "ps-winsrvcore", + "BinaryBucket": "symbols" } ], "Linux": [ @@ -65,7 +69,8 @@ ], "DockerFile": "./tools/releaseBuild/Images/microsoft_powershell_ubuntu14.04/Dockerfile", "AdditionalContextFiles" :[ "./tools/releaseBuild/Images/GenericLinuxFiles/PowerShellPackage.ps1"], - "DockerImageName": "ps-ubunutu-14-04" + "DockerImageName": "ps-ubunutu-14-04", + "BinaryBucket": "release" }, { "Name": "ubuntu.16.04", @@ -73,7 +78,8 @@ "BuildCommand": "/PowerShellPackage.ps1 -location _RepoDestinationPath_ -destination _DockerVolume_ -ReleaseTag _ReleaseTag_", "AdditionalContextFiles" :[ "./tools/releaseBuild/Images/GenericLinuxFiles/PowerShellPackage.ps1"], "DockerFile": "./tools/releaseBuild/Images/microsoft_powershell_ubuntu16.04/Dockerfile", - "DockerImageName": "ps-ubunutu-16-04" + "DockerImageName": "ps-ubunutu-16-04", + "BinaryBucket": "release" }, { "Name": "centos.7", @@ -81,7 +87,8 @@ "BuildCommand": "/PowerShellPackage.ps1 -location _RepoDestinationPath_ -destination _DockerVolume_ -ReleaseTag _ReleaseTag_ -ExtraPackage tar", "AdditionalContextFiles" :[ "./tools/releaseBuild/Images/GenericLinuxFiles/PowerShellPackage.ps1"], "DockerFile": "./tools/releaseBuild/Images/microsoft_powershell_centos7/Dockerfile", - "DockerImageName": "ps-centos-7" + "DockerImageName": "ps-centos-7", + "BinaryBucket": "release" } ] } From 64de6077fac936f7bef9d0827b0400c020d12e9e Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Thu, 12 Oct 2017 12:26:35 -0700 Subject: [PATCH 8/8] remove extra newline --- .../microsoft_powershell_windowsservercore/PowerShellPackage.ps1 | 1 - 1 file changed, 1 deletion(-) diff --git a/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 b/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 index a8f7c76720e..b43ca5e7135 100644 --- a/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 +++ b/tools/releaseBuild/Images/microsoft_powershell_windowsservercore/PowerShellPackage.ps1 @@ -78,7 +78,6 @@ try{ else { $pspackageParams += @{'IncludeSymbols' = $true} - } $pspackageParams['Type']='zip'