diff --git a/.travis.yml b/.travis.yml index ed580428..5b199bf0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,14 +1,26 @@ -sudo: required +language: csharp -services: - - docker - -os: - - linux +matrix: + include: + - os: linux + services: + - docker + - os: osx + sudo: required before_install: - - docker pull fedora:latest + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker pull ubuntu:xenial ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then wget https://dl.xamarin.com/XamarinforMac/Mac/xamarin.mac-3.0.0.393.pkg ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sudo installer -pkg xamarin.mac*.pkg -target / ; fi script: - - docker build --file build/ci/Dockerfile --tag "sparkleshare:nightly" . + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker build --file build/ci/Dockerfile --tag sparkleshare:nightly . ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then xbuild /p:Configuration=ReleaseMac SparkleShare.sln ; fi + +before_deploy: + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export DEPLOY_FILE=`docker run --name container sparkleshare:nightly find / -name sparkleshare*.tar.gz` ; fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker cp container:${DEPLOY_FILE} ./ ; fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then mv sparkleshare*.tar.gz sparkleshare-linux-nightly-${TRAVIS_COMMIT}.tar.gz ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mv SparkleShare/Mac/bin/ReleaseMac/SparkleShare.app . ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then zip --recurse-paths sparkleshare-mac-nightly-${TRAVIS_COMMIT}.zip SparkleShare.app ; fi