sudo: false services: - docker language: cpp # default values os: linux compiler: gcc osx_image: xcode10.2 cache: directories: - $HOME/.cache git: depth: 100500 env: > TEST_RUN_EXTRA_PARAMS="-j 1" jobs: include: # Testing targets (just run tests on Debian Stretch or OS X). - name: "RelWithDebInfo build + test (Linux, gcc)" env: TARGET=test - name: "RelWithDebInfo build + test (Linux, clang)" env: TARGET=test compiler: clang - name: "RelWithDebInfo build + test (OS X Mojave 10.14)" env: TARGET=test os: osx - name: "Debug build + test + coverage (Linux, gcc)" env: TARGET=coverage # Deploy targets (they also catch distro-specific problems). - name: "Create and deploy tarball" env: TARGET=source if: branch = "master" - name: "CentOS 6 build + deploy RPM" env: OS=el DIST=6 if: branch = "master" - name: "CentOS 7 build + test + deploy RPM" env: OS=el DIST=7 if: branch = "master" - name: "Fedora 28 build + test + deploy RPM" env: OS=fedora DIST=28 if: branch = "master" - name: "Fedora 29 build + test + deploy RPM" env: OS=fedora DIST=29 if: branch = "master" - name: "Fedora 30 build + test + deploy RPM" env: OS=fedora DIST=30 if: branch = "master" - name: "Ubuntu Trusty (14.04) build + deploy DEB" env: OS=ubuntu DIST=trusty if: branch = "master" - name: "Ubuntu Xenial (16.04) build + deploy DEB" env: OS=ubuntu DIST=xenial if: branch = "master" - name: "Ubuntu Bionic (18.04) build + deploy DEB" env: OS=ubuntu DIST=bionic if: branch = "master" - name: "Ubuntu Cosmic (18.10) build + deploy DEB" env: OS=ubuntu DIST=cosmic if: branch = "master" - name: "Ubuntu Disco (19.04) build + deploy DEB" env: OS=ubuntu DIST=disco if: branch = "master" - name: "Debian Jessie (8) build + deploy DEB" env: OS=debian DIST=jessie if: branch = "master" - name: "Debian Stretch (9) build + deploy DEB" env: OS=debian DIST=stretch if: branch = "master" - name: "Debian Buster (10) build + deploy DEB" env: OS=debian DIST=buster if: branch = "master" script: - make -f .travis.mk ${TARGET} before_deploy: - ls -l build/ deploy: # Deploy packages to PackageCloud from master branch (w/o tagged revisions) - provider: packagecloud username: "tarantool" repository: "2_3" token: "${PACKAGECLOUD_TOKEN}" dist: "${OS}/${DIST}" package_glob: build/*.{rpm,deb,dsc} skip_cleanup: true on: repo: tarantool/tarantool branch: "master" condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}" # Deploy source tarballs to S3 from master branch (w/o tagged revisions) - provider: script script: make -f .travis.mk source_deploy skip_cleanup: true on: repo: tarantool/tarantool branch: "master" condition: "x${TARGET} = xsource" # Deploy packages to PackageCloud from tagged revisions # https://github.com/travis-ci/travis-ci/issues/7780#issuecomment-302389370 - provider: packagecloud username: "tarantool" repository: "2_3" token: "${PACKAGECLOUD_TOKEN}" dist: "${OS}/${DIST}" package_glob: build/*.{rpm,deb,dsc} skip_cleanup: true on: repo: tarantool/tarantool tags: true condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}" # Deploy source tarballs to S3 from tagged revisions # https://github.com/travis-ci/travis-ci/issues/7780#issuecomment-302389370 - provider: script script: make -f .travis.mk source_deploy skip_cleanup: true on: repo: tarantool/tarantool tags: true condition: "x${TARGET} = xsource" notifications: email: recipients: - build@tarantool.org on_success: change on_failure: always