summaryrefslogtreecommitdiffstats
path: root/.travis
diff options
context:
space:
mode:
authorThomas Waldmann <tw@waldmann-edv.de>2015-08-07 15:17:07 +0200
committerThomas Waldmann <tw@waldmann-edv.de>2015-08-08 01:44:12 +0200
commitba753563141d4cf2ecf0beb141cf37d1538bb0e3 (patch)
tree2cf846866e6481203c1acc2841e69a1b26641d00 /.travis
parenta1e039ba215b09f68b75d4727a67a144382ccbe3 (diff)
add OS X to travis
Diffstat (limited to '.travis')
-rwxr-xr-x.travis/install.sh43
-rwxr-xr-x.travis/run.sh23
-rwxr-xr-x.travis/upload_coverage.sh10
3 files changed, 76 insertions, 0 deletions
diff --git a/.travis/install.sh b/.travis/install.sh
new file mode 100755
index 000000000..21ff76000
--- /dev/null
+++ b/.travis/install.sh
@@ -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 .
diff --git a/.travis/run.sh b/.travis/run.sh
new file mode 100755
index 000000000..cf504ac51
--- /dev/null
+++ b/.travis/run.sh
@@ -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
diff --git a/.travis/upload_coverage.sh b/.travis/upload_coverage.sh
new file mode 100755
index 000000000..73584acfb
--- /dev/null
+++ b/.travis/upload_coverage.sh
@@ -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