forked from esl/MongooseIM
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
87 lines (76 loc) · 2.76 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
language: erlang
dist: trusty
sudo: required
addons:
apt:
packages:
- libpam0g-dev
- libexpat1-dev
- odbc-postgresql
- slapd
- ldap-utils
before_install:
- tools/configure $REL_CONFIG
install:
- ./rebar3 compile
- make dev
- tools/travis-build-tests.sh
before_script:
- tools/travis-setup-db.sh
- if [ $PRESET = 'ldap_mnesia' ]; then sudo tools/travis-setup-ldap.sh; fi
script: tools/travis-test.sh -p $PRESET
after_failure:
- cat `ls -1 -d -t apps/ejabberd/logs/ct_run* | head -1`/apps.ejabberd.logs/run.*/suite.log
- if [ -s _build/mim1/rel/mongooseim/log/crash.log ]; then cat _build/mim1/rel/mongooseim/log/crash.log; fi
- if [ -s _build/mim2/rel/mongooseim/log/crash.log ]; then cat _build/mim2/rel/mongooseim/log/crash.log; fi
- tail -100 _build/mim1/rel/mongooseim/log/ejabberd.log
- tail -100 _build/mim2/rel/mongooseim/log/ejabberd.log
after_success:
- ./rebar3 coveralls send
- if [ $PRESET = 'internal_mnesia' ] && [ $TRAVIS_OTP_RELEASE = "19.3" ]; then tools/travis-build-and-push-docker.sh; fi
after_script:
- sudo pip install awscli --ignore-installed six
- if [ $TRAVIS_SECURE_ENV_VARS == 'true' ]; then tools/travis-upload-to-s3.sh; fi
services:
- redis-server
- docker
- riak
branches:
only:
- master
- stable
- /^rel\-\d+\.\d+$/
- /^\d+\.\d+\.\d+([a-z0-9\-\+])*/
otp_release:
- 19.3
env:
- PRESET=internal_mnesia DB=mnesia REL_CONFIG=with-all TLS_DIST=yes
- PRESET=mysql_redis DB=mysql REL_CONFIG="with-mysql with-redis"
- PRESET=odbc_pgsql_mnesia DB=pgsql REL_CONFIG=with-odbc
- PRESET=ldap_mnesia DB=mnesia REL_CONFIG=with-none
- PRESET=cassandra_mnesia DB=cassandra REL_CONFIG=with-cassandra CASSANDRA_VERSION=3.9
matrix:
include:
- otp_release: 20.0
env: PRESET=dialyzer_only
- otp_release: 20.0
env: PRESET=pgsql_mnesia DB=pgsql REL_CONFIG=with-pgsql
- otp_release: 18.3
env: PRESET=riak_mnesia DB=riak REL_CONFIG=with-riak
notifications:
webhooks:
# trigger Buildtime Trend Service to parse Travis CI log
- https://buildtimetrend.herokuapp.com/travis
- https://tide.erlang-solutions.com/api/travis_ci/events
on_start: always
cache:
directories:
- $HOME/.cache/rebar3
deploy:
provider: releases
api-key: $GITHUB_TOKEN
skip_cleanup: true
file: mongooseim-$TRAVIS_BRANCH.OTP-$TRAVIS_OTP_RELEASE.$(lsb_release -is | tr "A-Z" "a-z").$(lsb_release -rs).$(uname -m).tar.bz2
on:
tags: true
condition: "$PRESET.$TRAVIS_OTP_RELEASE = internal_mnesia.18.3"