forked from tarantool/tarantool
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
144 lines (133 loc) · 4.27 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
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: "CentOS 8 build + test + deploy RPM"
env: OS=el DIST=8
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: "Fedora 31 build + test + deploy RPM"
env: OS=fedora DIST=31
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: "Ubuntu Eoan (19.10) build + deploy DEB"
env: OS=ubuntu DIST=eoan
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_4"
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_4"
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:
on_success: change
on_failure: always