diff --git a/.travis.yml b/.travis.yml index e0709ce23c..5cc613d036 100644 --- a/.travis.yml +++ b/.travis.yml @@ -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= diff --git a/build.psm1 b/build.psm1 index dc2b6b238c..e868767f30 100644 --- a/build.psm1 +++ b/build.psm1 @@ -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 = @' {0} -'@ \ No newline at end of file +'@