From 5bf7fab99d5bd23f57feca48cdf2628fbb48ce79 Mon Sep 17 00:00:00 2001 From: Brian Warner Date: Tue, 21 Jun 2016 13:21:05 -0700 Subject: [PATCH] travis: big cleanup, make it work on OS-X Travis defaults to giving us an OS-X 10.9 box, which has an OpenSSL that is too old for the current cryptography-1.4 (note that a previous version of this branch worked, but only because the previous cryptography-1.3.x didn't enforce the OpenSSL version). On OS-X, this new .travis.yml does the following: * set "osx_image: xcode7" to get us 10.10, with newer OpenSSL * uses system python, not homebrew * installs pip with get-pip.py, since system python doesn't have it * adds the --user directory to $PATH, since OS-X python doesn't have it by default On both linux and OS-X, this: * installs tox and coveralls with --user, not to the system * doesn't use sudo to run tox * prints some extra debug info in case it's useful later Closes #285 --- .travis.yml | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5648d06bb..567825cb2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,6 +2,10 @@ sudo: true os: - "linux" - "osx" +# xcode7 gives us OS-X 10.10, which gives us newer OpenSSL (the default gives +# us 10.9, which appears to have OpenSSL-0.9.8, which is rejected by +# cryptography-1.4) +osx_image: xcode7 cache: pip before_cache: - rm -f $HOME/.cache/pip/log/debug.log @@ -13,16 +17,16 @@ before_install: - git config --global user.email "travis-tahoe@tahoe-lafs.org" - git config --global user.name "Travis Tahoe" - git fetch --depth=1000 - - python misc/build_helpers/show-tool-versions.py install: - - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then echo installing on osx...; fi - - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then brew update && brew install python; fi - - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then export PATH=/usr/local/bin:$PATH; fi - - if [ "${TRAVIS_OS_NAME}" = "linux" ]; then sudo pip install coveralls tox; fi - - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then pip install coveralls tox; fi +# ~/.local/bin is on $PATH by default, but on OS-X, --user puts it elsewhere + - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then export PATH=$HOME/Library/Python/2.7/bin:$PATH; fi + - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then wget https://bootstrap.pypa.io/get-pip.py && sudo python ./get-pip.py; fi + - pip list + - pip install --user coveralls tox + - echo $PATH; which python; which pip; which tox + - python misc/build_helpers/show-tool-versions.py script: - - if [ "${TRAVIS_OS_NAME}" = "linux" ]; then sudo tox -e coverage; fi - - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then tox -e coverage; fi + - tox -e coverage after_success: coveralls notifications: