Skip to content

Commit

Permalink
add OS X to travis
Browse files Browse the repository at this point in the history
  • Loading branch information
ThomasWaldmann committed Aug 7, 2015
1 parent a1e039b commit ba75356
Show file tree
Hide file tree
Showing 4 changed files with 121 additions and 10 deletions.
55 changes: 45 additions & 10 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,47 @@
sudo: required

language: python
python:
- "3.2"
- "3.3"
- "3.4"
# command to install dependencies

cache:
directories:
- $HOME/.cache/pip

matrix:
include:
- python: 3.2
os: linux
env: TOXENV=py32
- python: 3.3
os: linux
env: TOXENV=py33
- python: 3.4
os: linux
env: TOXENV=py34
- language: generic
os: osx
osx_image: beta-xcode6.3
env: TOXENV=py32
- language: generic
os: osx
osx_image: beta-xcode6.3
env: TOXENV=py33
- language: generic
os: osx
osx_image: beta-xcode6.3
env: TOXENV=py34

install:
- "sudo apt-get install -y libacl1-dev"
- "pip install --use-mirrors Cython"
- "pip install -e ."
# command to run tests
script: fakeroot -u py.test
- ./.travis/install.sh

script:
- ./.travis/run.sh

after_success:
- ./.travis/upload_coverage.sh

notifications:
irc:
channels:
- "irc.freenode.org#borgbackup"
use_notice: true
skip_join: true
43 changes: 43 additions & 0 deletions .travis/install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#!/bin/bash

set -e
set -x

if [[ "$(uname -s)" == 'Darwin' ]]; then
brew update || brew update

if [[ "${OPENSSL}" != "0.9.8" ]]; then
brew outdated openssl || brew upgrade openssl
fi

if which pyenv > /dev/null; then
eval "$(pyenv init -)"
fi

brew outdated pyenv || brew upgrade pyenv

case "${TOXENV}" in
py32)
pyenv install 3.2.6
pyenv global 3.2.6
;;
py33)
pyenv install 3.3.6
pyenv global 3.3.6
;;
py34)
pyenv install 3.4.3
pyenv global 3.4.3
;;
esac
pyenv rehash
python -m pip install --user virtualenv
else
pip install virtualenv
sudo apt-get install -y libacl1-dev
fi

python -m virtualenv ~/.venv
source ~/.venv/bin/activate
pip install tox pytest codecov Cython
pip install -e .
23 changes: 23 additions & 0 deletions .travis/run.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/bin/bash

set -e
set -x

if [[ "$(uname -s)" == "Darwin" ]]; then
eval "$(pyenv init -)"
if [[ "${OPENSSL}" != "0.9.8" ]]; then
# set our flags to use homebrew openssl
export ARCHFLAGS="-arch x86_64"
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CFLAGS="-I/usr/local/opt/openssl/include"
fi
fi

source ~/.venv/bin/activate

if [[ "$(uname -s)" == "Darwin" ]]; then
# no fakeroot on OS X
sudo tox -e $TOXENV
else
fakeroot -u tox
fi
10 changes: 10 additions & 0 deletions .travis/upload_coverage.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/bash

set -e
set -x

NO_COVERAGE_TOXENVS=(pep8)
if ! [[ "${NO_COVERAGE_TOXENVS[*]}" =~ "${TOXENV}" ]]; then
source ~/.venv/bin/activate
bash <(curl -s https://codecov.io/bash) -e TRAVIS_OS_NAME,TOXENV
fi

0 comments on commit ba75356

Please sign in to comment.