aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Reid <dreid@dreid.org>2014-01-09 09:28:54 -0800
committerDavid Reid <dreid@dreid.org>2014-01-09 09:28:54 -0800
commit1f15f890a397e2b1c5d258a5c30d88e76667e42f (patch)
tree29414aa70a68f30b37bde36cec98a892919d6cd5
parent2b585012db2c80e48d32ecf7cf456cd7e6aa991e (diff)
parentd1d952de521d66de81f5c6a12cc00a837eb929a2 (diff)
downloadcryptography-1f15f890a397e2b1c5d258a5c30d88e76667e42f.tar.gz
cryptography-1f15f890a397e2b1c5d258a5c30d88e76667e42f.tar.bz2
cryptography-1f15f890a397e2b1c5d258a5c30d88e76667e42f.zip
Merge pull request #425 from reaperhulk/travis-me-too
Travis OS X Support
-rw-r--r--.travis.yml100
-rwxr-xr-x.travis/install.sh67
2 files changed, 153 insertions, 14 deletions
diff --git a/.travis.yml b/.travis.yml
index 0a8771ef..92ee221b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,26 +1,21 @@
-language: python
-python: 2.7
+language: c
+os:
+ - linux
+ - osx
+compiler:
+ - clang
+ - gcc
env:
- TOX_ENV=py26
- TOX_ENV=py27
- TOX_ENV=py32
- TOX_ENV=py33
- TOX_ENV=pypy
- - TOX_ENV=py26 CC=clang
- - TOX_ENV=py27 CC=clang
- - TOX_ENV=py32 CC=clang
- - TOX_ENV=py33 CC=clang
- - TOX_ENV=pypy CC=clang
- TOX_ENV=py26 OPENSSL=0.9.8
- TOX_ENV=py27 OPENSSL=0.9.8
- TOX_ENV=py32 OPENSSL=0.9.8
- TOX_ENV=py33 OPENSSL=0.9.8
- TOX_ENV=pypy OPENSSL=0.9.8
- - TOX_ENV=py26 CC=clang OPENSSL=0.9.8
- - TOX_ENV=py27 CC=clang OPENSSL=0.9.8
- - TOX_ENV=py32 CC=clang OPENSSL=0.9.8
- - TOX_ENV=py33 CC=clang OPENSSL=0.9.8
- - TOX_ENV=pypy CC=clang OPENSSL=0.9.8
- TOX_ENV=docs
- TOX_ENV=pep8
- TOX_ENV=py3pep8
@@ -29,7 +24,7 @@ install:
- ./.travis/install.sh
script:
- - tox -e $TOX_ENV
+ - if [[ "$(uname -s)" == "Darwin" ]]; then eval "$(pyenv init -)";fi && source ~/.venv/bin/activate && tox -e $TOX_ENV
after_success:
- coveralls
@@ -40,3 +35,82 @@ notifications:
- "irc.freenode.org#cryptography-dev"
use_notice: true
skip_join: true
+
+# When building an exclude matrix on Travis you must supply
+# the exact variable combinations you want to exclude from
+# your build matrix. There is no (current) way to make this
+# less verbose.
+matrix:
+ exclude:
+ - os: osx
+ env: TOX_ENV=py26
+ compiler: gcc
+ - os: osx
+ env: TOX_ENV=py27
+ compiler: gcc
+ - os: osx
+ env: TOX_ENV=py32
+ compiler: gcc
+ - os: osx
+ env: TOX_ENV=py33
+ compiler: gcc
+ - os: osx
+ env: TOX_ENV=pypy
+ compiler: gcc
+ - os: osx
+ env: TOX_ENV=py26
+ compiler: clang
+ - os: osx
+ env: TOX_ENV=py27
+ compiler: clang
+ - os: osx
+ env: TOX_ENV=py32
+ compiler: clang
+ - os: osx
+ env: TOX_ENV=py33
+ compiler: clang
+ - os: osx
+ env: TOX_ENV=pypy
+ compiler: clang
+ - os: osx
+ env: TOX_ENV=py26 OPENSSL=0.9.8
+ compiler: gcc
+ - os: osx
+ env: TOX_ENV=py27 OPENSSL=0.9.8
+ compiler: gcc
+ - os: osx
+ env: TOX_ENV=py32 OPENSSL=0.9.8
+ compiler: gcc
+ - os: osx
+ env: TOX_ENV=py33 OPENSSL=0.9.8
+ compiler: gcc
+ - os: osx
+ env: TOX_ENV=pypy OPENSSL=0.9.8
+ compiler: gcc
+ - os: osx
+ env: TOX_ENV=docs
+ compiler: gcc
+ - os: osx
+ env: TOX_ENV=pep8
+ compiler: gcc
+ - os: osx
+ env: TOX_ENV=py3pep8
+ compiler: gcc
+ - os: osx
+ env: TOX_ENV=docs
+ compiler: clang
+ - os: osx
+ env: TOX_ENV=pep8
+ compiler: clang
+ - os: osx
+ env: TOX_ENV=py3pep8
+ compiler: clang
+ - os: linux
+ env: TOX_ENV=docs
+ compiler: clang
+ - os: linux
+ env: TOX_ENV=pep8
+ compiler: clang
+ - os: linux
+ env: TOX_ENV=py3pep8
+ compiler: clang
diff --git a/.travis/install.sh b/.travis/install.sh
index 4aa39799..d25ed941 100755
--- a/.travis/install.sh
+++ b/.travis/install.sh
@@ -3,10 +3,75 @@
set -e
set -x
-if [[ "${OPENSSL}" == "0.9.8" ]]; then
+if [[ "${OPENSSL}" == "0.9.8" && "$(uname -s)" != "Darwin" ]]; then
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu/ lucid main"
sudo apt-get -y update
sudo apt-get install -y --force-yes libssl-dev/lucid
fi
+if [[ "$(uname -s)" == "Darwin" ]]; then
+ brew update
+ brew install pyenv
+ if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
+ case "${TOX_ENV}" in
+ py26)
+ sudo easy_install pip
+ sudo pip install setuptools --no-use-wheel --upgrade
+ sudo pip install virtualenv
+ ;;
+ py27)
+ sudo easy_install pip
+ sudo pip install setuptools --no-use-wheel --upgrade
+ sudo pip install virtualenv
+ ;;
+ pypy)
+ pyenv install pypy-2.2.1
+ pyenv global pypy-2.2.1
+ pip install virtualenv
+ ;;
+ py32)
+ pyenv install 3.2.5
+ pyenv global 3.2.5
+ pip install virtualenv
+ ;;
+ py33)
+ pyenv install 3.3.2
+ pyenv global 3.3.2
+ pip install virtualenv
+ ;;
+ esac
+ pyenv rehash
+else
+ # add mega-python ppa
+ sudo add-apt-repository -y ppa:fkrull/deadsnakes
+ sudo apt-get -y update
+
+ case "${TOX_ENV}" in
+ py26)
+ sudo apt-get install python2.6 python2.6-dev
+ ;;
+ py32)
+ sudo apt-get install python3.2 python3.2-dev
+ ;;
+ py33)
+ sudo apt-get install python3.3 python3.3-dev
+ ;;
+ py3pep8)
+ sudo apt-get install python3.3 python3.3-dev
+ ;;
+ pypy)
+ sudo add-apt-repository -y ppa:pypy/ppa
+ sudo apt-get -y update
+ sudo apt-get install -y --force-yes pypy pypy-dev
+ ;;
+ esac
+ sudo pip install virtualenv
+fi
+
+virtualenv ~/.venv
+source ~/.venv/bin/activate
pip install tox coveralls
+
+if [[ "$(uname -s)" == "Darwin" ]]; then
+ pyenv rehash
+fi