sudo: required dist: trusty language: python matrix: include: - python: 3.4 env: KERAS_BACKEND=theano - python: 3.4 env: KERAS_BACKEND=tensorflow - python: 2.7 env: KERAS_BACKEND=theano - python: 2.7 env: KERAS_BACKEND=tensorflow - python: 2.7 env: KERAS_BACKEND=theano TEST_MODE=INTEGRATION_TESTS - python: 2.7 env: KERAS_BACKEND=theano TEST_MODE=PEP8 install: # code below is taken from http://conda.pydata.org/docs/travis.html # We do this conditionally because it saves us some downloading if the # version is the same. - if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then wget https://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh -O miniconda.sh; else wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh; fi - bash miniconda.sh -b -p $HOME/miniconda - export PATH="$HOME/miniconda/bin:$PATH" - hash -r - conda config --set always_yes yes --set changeps1 no - conda update -q conda # Useful for debugging any issues with conda - conda info -a - conda create -q -n test-environment python=$TRAVIS_PYTHON_VERSION numpy scipy matplotlib pandas pytest h5py - source activate test-environment - pip install pytest-cov python-coveralls pytest-xdist coverage==3.7.1 #we need this version of coverage for coveralls.io to work - pip install pep8 pytest-pep8 - pip install git+git://github.com/Theano/Theano.git # install PIL for preprocessing tests - if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then conda install pil; elif [[ "$TRAVIS_PYTHON_VERSION" == "3.4" ]]; then conda install Pillow; fi - python setup.py install # install TensorFlow - if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.9.0-cp27-none-linux_x86_64.whl; elif [[ "$TRAVIS_PYTHON_VERSION" == "3.4" ]]; then pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.9.0-cp34-cp34m-linux_x86_64.whl; fi # command to run tests script: # run keras backend init to initialize backend config - python -c "import keras.backend" # create dataset directory to avoid concurrent directory creation at runtime - mkdir ~/.keras/datasets # set up keras backend - sed -i -e 's/"backend":[[:space:]]*"[^"]*/"backend":\ "'$KERAS_BACKEND'/g' ~/.keras/keras.json; - echo -e "Running tests with the following config:\n$(cat ~/.keras/keras.json)" - if [[ "$TEST_MODE" == "INTEGRATION_TESTS" ]]; then PYTHONPATH=$PWD:$PYTHONPATH py.test tests/integration_tests; elif [[ "$TEST_MODE" == "PEP8" ]]; then PYTHONPATH=$PWD:$PYTHONPATH py.test --pep8 -m pep8 -n0; else PYTHONPATH=$PWD:$PYTHONPATH py.test tests/ --ignore=tests/integration_tests; fi after_success: - coveralls