diff options
-rw-r--r-- | .travis.yml | 96 | ||||
-rwxr-xr-x | .travis/install.sh | 67 |
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 |