build: Add CI for macOS

This commit is contained in:
Hylke Bons 2017-09-09 11:03:16 +01:00
parent 7b05fa8092
commit ef2adf3cc8

View file

@ -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