language: generic env: global: - PYMODULE=immutables - RELEASE_PYTHON_VERSIONS="3.5 3.6 3.7 3.8" - S3_UPLOAD_USERNAME=oss-ci-bot - S3_UPLOAD_BUCKET=magicstack-oss-releases - TWINE_USERNAME=magicstack-ci branches: # Avoid building PR branches. only: - master - ci - releases - /^v\d+(\.\d+)*$/ matrix: fast_finish: true include: - os: linux dist: trusty sudo: false language: python python: "3.5" env: BUILD=tests - os: linux dist: xenial sudo: true language: python python: "3.7" env: BUILD=tests - os: linux dist: xenial language: python python: "3.8" env: BUILD=tests - os: linux dist: trusty sudo: required language: python python: "3.6" env: BUILD=tests,wheels,release services: [docker] - os: osx env: BUILD=tests,wheels PYTHON_VERSION=3.5.5 - os: osx env: BUILD=tests,wheels PYTHON_VERSION=3.6.5 - os: osx env: BUILD=tests,wheels PYTHON_VERSION=3.7.0 - os: osx env: BUILD=tests,wheels PYTHON_VERSION=3.8.0 cache: pip before_install: - .ci/travis-before-install.sh install: - .ci/travis-install.sh script: - .ci/travis-tests.sh - .ci/travis-build-wheels.sh deploy: provider: script script: .ci/travis-release.sh on: tags: true condition: '"${BUILD}" == *release*'