diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..31210fc --- /dev/null +++ b/.travis.yml @@ -0,0 +1,73 @@ +sudo: required +dist: trusty +language: python +matrix: + include: + - python: 2.7 + env: KERAS_BACKEND=theano TEST_MODE=PEP8 + - python: 2.7 + env: KERAS_BACKEND=theano TEST_MODE=INTEGRATION_TESTS + - python: 2.7 + env: KERAS_BACKEND=tensorflow + - python: 3.5 + env: KERAS_BACKEND=tensorflow + - python: 2.7 + env: KERAS_BACKEND=theano + - python: 3.5 + env: KERAS_BACKEND=theano +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.5" ]]; 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.12.1-cp27-none-linux_x86_64.whl; + elif [[ "$TRAVIS_PYTHON_VERSION" == "3.5" ]]; then + pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.12.1-cp35-cp35m-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