aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.travis.yml96
-rwxr-xr-x.travis/install.sh67
2 files changed, 149 insertions, 14 deletions
diff --git a/.travis.yml b/.travis.yml
index 0a8771ef..c7846194 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,78 @@ notifications:
- "irc.freenode.org#cryptography-dev"
use_notice: true
skip_join: true
+
+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