Newer
Older
# default values
os: linux
compiler: gcc
cache:
directories:
- $HOME/.cache
git:
depth: 100500
# Testing targets (just run tests on Debian Stretch or OS X).
- name: "RelWithDebInfo build + test (Linux, gcc)"
- name: "RelWithDebInfo build + test (Linux, clang)"
- name: "RelWithDebInfo build + test (OS X Mojave 10.14)"
- name: "Debug build + test + coverage (Linux, gcc)"
- name: "RelWithDebInfo build + test (OS X High Sierra 10.13)"
env: TARGET=test
os: osx
osx_image: xcode9.4
# Special targets (only LTO for now).
- name: "LTO build + test (Linux, gcc)"
env: TARGET=test CMAKE_EXTRA_PARAMS=-DENABLE_LTO=ON
- name: "LTO build + test (Linux, clang)"
env: TARGET=test CMAKE_EXTRA_PARAMS=-DENABLE_LTO=ON
- name: "LTO build + test (OS X Mojave 10.14)"
os: osx
env: TARGET=test CMAKE_EXTRA_PARAMS=-DENABLE_LTO=ON
# Deploy targets (they also catch distro-specific problems).
- name: "Create and deploy tarball"
- name: "CentOS 6 build + deploy RPM"
- name: "CentOS 7 build + test + deploy RPM"
- name: "Fedora 28 build + test + deploy RPM"
- name: "Fedora 29 build + test + deploy RPM"
- name: "Fedora 30 build + test + deploy RPM"
env: OS=fedora DIST=30
if: branch = "master"
- name: "Ubuntu Trusty (14.04) build + deploy DEB"
- name: "Ubuntu Xenial (16.04) build + deploy DEB"
- name: "Ubuntu Bionic (18.04) build + deploy DEB"
- name: "Ubuntu Cosmic (18.10) build + deploy DEB"
env: OS=ubuntu DIST=cosmic
- name: "Ubuntu Disco (19.04) build + deploy DEB"
env: OS=ubuntu DIST=disco
if: branch = "master"
- name: "Debian Jessie (8) build + deploy DEB"
- name: "Debian Stretch (9) build + deploy DEB"
- name: "Debian Buster (10) build + deploy DEB"
env: OS=debian DIST=buster
if: branch = "master"
- make -f .travis.mk ${TARGET}
before_deploy:
- ls -l build/
deploy:
# Deploy packages to PackageCloud
- provider: packagecloud
username: "tarantool"
token: "${PACKAGECLOUD_TOKEN}"
dist: "${OS}/${DIST}"
package_glob: build/*.{rpm,deb,dsc}
skip_cleanup: true
on:
repo: tarantool/tarantool
condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
# Deploy source tarballs to S3
- provider: script
script: make -f .travis.mk source_deploy
skip_cleanup: true
on:
repo: tarantool/tarantool
condition: "x${TARGET} = xsource"
notifications:
email:
recipients:
- build@tarantool.org
on_success: change
on_failure: always