Merge pull request #1279 from PowerShell/andschwa/artifacts

Build Linux and OS X packages on Travis
This commit is contained in:
Andy Schwartzmeyer 2016-07-06 14:41:45 -07:00 committed by GitHub
commit 12d378330a
2 changed files with 41 additions and 9 deletions

View file

@ -7,14 +7,18 @@ matrix:
- os: osx
osx_image: xcode7.3
language: generic
addons:
artifacts:
s3_region: "us-west-2"
paths: $(ls powershell*{deb,pkg} | tr "\n" ":")
git:
submodules: false
before_install:
install:
- git config --global url.git@github.com:.insteadOf https://github.com/
- git submodule update --init
- ./tools/download.sh
- (cd tools && ./download.sh)
script:
- ulimit -n 4096; powershell -c "Import-Module ./build.psm1; Start-PSBootstrap; Start-PSBuild -Publish; Start-PSPester; Start-PSxUnit"
- ulimit -n 4096; powershell -c "Import-Module ./build.psm1; Start-PSBootstrap -Package; Start-PSBuild -Publish; Start-PSPackage; Start-PSPester; Start-PSxUnit"
notifications:
slack:
secure: sKYd4n61+ZFzGZuWGUl8V1kN0NM16wRVOFVlNhlFCwnkrEsKROb++EvXf5uwnKuzxkhEjvPWO+UFgeshQDoR93y4s5YLfhC5JupK4nUzjPzWs208KTrh8u/x9MY8X6Ojxi85EEAiku5GzMoMlkucSStZUYwbIfnelzqdw8uoRwmm2MW4XCPwsuEuDUVghyiva0Mdx1G6MopCrK8T96WywJXT3chhfZQgVt+sQCBt9g+2kjDaObKrzG0P07IVK43ZpDgnu6AoxlyBzIx9mJH2Oa/tki3/kTO72Wcp3ps3qvmiStADamzVKR9p1VlWCLWAd6VOehxuByCGEyujpzk135Wud2DZYO+8LD6inZVhFe3Wt5pCU9BDXZppiATfMCqgXEH7nK54pEn79yHcjthRJ2+Z9ot7As2fu3RSBmTAi8nRP0fxRyX/jctR3S6P0qt0y1ynx9nzBfhmhPQW0PMVazWS/nruQIvK/3iiYXjZxM5bBwIvabmwV00EYeTdbL6ufXWNgQcG1ZWkDsi2I3vst/ytUbHwaFYg83bXWpxg9DCzJeWLVUvE5/3NfBxRAuCTot/fgTEA9IYScvrlL7Q/bT0cOt0vEM98MPf1UO+WP85uxhsRgHtwDEo+jMaL6ZFkPhlV6mmmED4NdY2//a571cLNXdnuMAze5O3TWGBG53g=

View file

@ -439,7 +439,8 @@ function Start-PSBootstrap {
[CmdletBinding()]param(
[ValidateSet("dev", "beta", "preview")]
[string]$Channel = "rel-1.0.0",
[string]$Version = "latest"
[string]$Version = "latest",
[switch]$Package
)
log "Installing Open PowerShell build dependencies"
@ -448,19 +449,46 @@ function Start-PSBootstrap {
try {
# Install ours and .NET's dependencies
$Deps = @()
if ($IsUbuntu) {
sudo apt-get install -y -qq curl make g++ cmake libc6 libgcc1 libstdc++6 libcurl3 libgssapi-krb5-2 libicu52 liblldb-3.6 liblttng-ust0 libssl1.0.0 libunwind8 libuuid1 zlib1g clang-3.5
# Build tools
$Deps += "curl", "g++", "cmake", "make"
# .NET Core required runtime libraries
$Deps += "libicu52", "libunwind8"
# Packaging tools
if ($Package) { $Deps += "ruby-dev" }
# Install dependencies
sudo apt-get install -y -qq $Deps
} elseif ($IsCentos) {
sudo yum install -y -q curl make gcc-c++ cmake glibc libgcc libstdc++ libcurl krb5-libs libicu lldb openssl-libs libunwind libuuid zlib clang
# Build tools
$Deps += "curl", "gcc-c++", "cmake", "make"
# .NET Core required runtime libraries
$Deps += "libicu", "libunwind"
# Packaging tools
if ($Package) { $Deps += "ruby-devel", "rpmbuild" }
# Install dependencies
sudo yum install -y -q $Deps
} elseif ($IsOSX) {
precheck 'brew' "Bootstrap dependency 'brew' not found, must install Homebrew! See http://brew.sh/"
brew install curl cmake openssl
# Build tools
$Deps += "curl", "cmake"
# .NET Core required runtime libraries
$Deps += "openssl"
# Packaging tools
if ($Package) { $Deps += "ruby" }
# Install dependencies
brew install $Deps
# OpenSSL libraries must be updated
brew link --force openssl
} else {
Write-Warning "This script only supports Ubuntu 14.04, CentOS 7, and OS X, you must install dependencies manually!"
}
# Install [fpm](https://github.com/jordansissel/fpm)
if ($Package) {
gem install fpm
}
$obtainUrl = "https://raw.githubusercontent.com/dotnet/cli/rel/1.0.0/scripts/obtain"
# Install for Linux and OS X
@ -1760,4 +1788,4 @@ $script:RESX_TEMPLATE = @'
</resheader>
{0}
</root>
'@
'@