dist: xenial sudo: required language: python cache: pip notifications: irc: "chat.freenode.net#pil" # Run slow PyPy* first, to give them a headstart and reduce waiting time. # Run latest 3.x and 2.x next, to get quick compatibility results. # Then run the remainder, with fastest Docker jobs last. matrix: fast_finish: true include: - python: "pypy" dist: trusty - python: "pypy3" dist: trusty - python: '3.7' - python: '2.7' - python: '2.7' dist: trusty - python: "2.7_with_system_site_packages" # For PyQt4 - python: "2.7_with_system_site_packages" # For PyQt4 dist: trusty - python: '3.6' - python: '3.6' dist: trusty - python: '3.5' - python: '3.5' dist: trusty - python: '3.4' dist: trusty - env: DOCKER="alpine" DOCKER_TAG="pytest" - env: DOCKER="arch" DOCKER_TAG="pytest" # contains PyQt5 - env: DOCKER="ubuntu-trusty-x86" DOCKER_TAG="pytest" - env: DOCKER="ubuntu-xenial-amd64" DOCKER_TAG="pytest" - env: DOCKER="debian-stretch-x86" DOCKER_TAG="pytest" - env: DOCKER="centos-6-amd64" DOCKER_TAG="pytest" - env: DOCKER="centos-7-amd64" DOCKER_TAG="pytest" - env: DOCKER="amazon-1-amd64" DOCKER_TAG="pytest" - env: DOCKER="amazon-2-amd64" DOCKER_TAG="pytest" - env: DOCKER="fedora-26-amd64" DOCKER_TAG="pytest" - env: DOCKER="fedora-27-amd64" DOCKER_TAG="pytest" services: - docker install: - if [ "$DOCKER" == "" ]; then .travis/install.sh; fi before_install: - if [ "$DOCKER" ]; then travis_retry docker pull pythonpillow/$DOCKER:$DOCKER_TAG; fi before_script: # Qt needs a display for some of the tests, and it's only run on the system site packages install - "export DISPLAY=:99.0" - "sh -e /etc/init.d/xvfb start" script: - | if [ "$DOCKER" == "" ]; then .travis/script.sh else # the Pillow user in the docker container is UID 1000 sudo chown -R 1000 $TRAVIS_BUILD_DIR docker run -v $TRAVIS_BUILD_DIR:/Pillow pythonpillow/$DOCKER:$DOCKER_TAG fi after_success: - .travis/after_success.sh