language: python sudo: false services: - docker python: - 2.7 - 3.6 env: - TEST_SERVER_MODE=false - TEST_SERVER_MODE=true # Due to incomplete Python 3.7 support on Travis CI ( # https://github.com/travis-ci/travis-ci/issues/9815), # using a matrix is necessary matrix: include: - python: 3.7 env: TEST_SERVER_MODE=false dist: xenial sudo: true - python: 3.7 env: TEST_SERVER_MODE=true dist: xenial sudo: true before_install: - export BOTO_CONFIG=/dev/null - export AWS_SECRET_ACCESS_KEY=foobar_secret - export AWS_ACCESS_KEY_ID=foobar_key install: # We build moto first so the docker container doesn't try to compile it as well, also note we don't use # -d for docker run so the logs show up in travis # Python images come from here: https://hub.docker.com/_/python/ - | python setup.py sdist if [ "$TEST_SERVER_MODE" = "true" ]; then docker run --rm -t --name motoserver -e TEST_SERVER_MODE=true -e AWS_SECRET_ACCESS_KEY=server_secret -e AWS_ACCESS_KEY_ID=server_key -v `pwd`:/moto -p 5000:5000 -v /var/run/docker.sock:/var/run/docker.sock python:${TRAVIS_PYTHON_VERSION}-stretch /moto/travis_moto_server.sh & fi travis_retry pip install boto==2.45.0 travis_retry pip install boto3 travis_retry pip install dist/moto*.gz travis_retry pip install coveralls==1.1 travis_retry pip install -r requirements-dev.txt if [ "$TEST_SERVER_MODE" = "true" ]; then python wait_for.py fi script: - make test after_success: - coveralls