Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ param (
[switch] $Wait,
[ValidatePattern("^v\d+\.\d+\.\d+(-\w+\.\d+)?$")]
[ValidateNotNullOrEmpty()]
[string]$ReleaseTag
[string]$ReleaseTag,
[switch] $Symbols
)

$releaseTagParam = @{}
Expand Down Expand Up @@ -55,16 +56,29 @@ 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')
{
$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
}
else
{
$pspackageParams += @{'IncludeSymbols' = $true}
}

$pspackageParams['Type']='zip'
Write-Verbose "Starting powershell packaging(zip)..." -verbose
Expand Down
33 changes: 33 additions & 0 deletions tools/releaseBuild/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# 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 <tag> -Name <buildName>`.

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 <tag> -Name <buildName>`.

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
41 changes: 36 additions & 5 deletions tools/releaseBuild/build.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand All @@ -22,7 +23,34 @@
],
"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",
"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",
"BinaryBucket": "symbols"
},
{
"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",
"BinaryBucket": "symbols"
}
],
"Linux": [
Expand All @@ -41,23 +69,26 @@
],
"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",
"RepoDestinationPath": "/PowerShell",
"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",
"RepoDestinationPath": "/PowerShell",
"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"
}
]
}
4 changes: 2 additions & 2 deletions tools/releaseBuild/vstsbuild.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down