2014-05-05 22:42:15 +02:00
|
|
|
language: erlang
|
|
|
|
|
|
|
|
otp_release:
|
2018-11-15 12:13:45 +01:00
|
|
|
- 19.0
|
|
|
|
- 20.3
|
2018-12-22 19:45:28 +01:00
|
|
|
- 21.2
|
2014-05-05 22:42:15 +02:00
|
|
|
|
2014-07-15 20:42:12 +02:00
|
|
|
services:
|
2016-02-19 15:06:41 +01:00
|
|
|
- redis-server
|
2014-07-15 20:42:12 +02:00
|
|
|
|
2014-05-05 22:42:15 +02:00
|
|
|
before_install:
|
2015-07-03 01:21:22 +02:00
|
|
|
#
|
|
|
|
# We need MySQL 5.6 or newer in order to get support for FULLTEXT indexes
|
|
|
|
# with InnoDB. As soon as Travis ships that version, the following lines
|
|
|
|
# (except for the "apt-get update" call) can go away.
|
|
|
|
#
|
|
|
|
# See: https://github.com/travis-ci/travis-ci/issues/1986
|
|
|
|
#
|
|
|
|
- sudo sed -i -e s/table_cache/table_open_cache/ -e /log_slow_queries/d /etc/mysql/my.cnf
|
2016-03-21 11:02:32 +01:00
|
|
|
- sudo apt-key adv --import .travis/mysql_repo_key.asc
|
2015-07-03 01:21:22 +02:00
|
|
|
- sudo add-apt-repository 'deb http://repo.mysql.com/apt/ubuntu/ precise mysql-5.6'
|
2014-05-05 22:42:15 +02:00
|
|
|
- sudo apt-get -qq update
|
2017-04-11 13:52:10 +02:00
|
|
|
- sudo apt-get -qq -o Dpkg::Options::=--force-confold install mysql-server
|
|
|
|
- sudo mysql_upgrade
|
2016-03-16 08:55:25 +01:00
|
|
|
# /END MYSQL 5.6
|
2016-03-21 12:15:07 +01:00
|
|
|
- pip install --user coveralls-merge
|
2014-05-05 22:42:15 +02:00
|
|
|
|
|
|
|
install:
|
2017-09-25 10:19:49 +02:00
|
|
|
- sudo apt-get -qq install libexpat1-dev libyaml-dev libpam0g-dev libsqlite3-dev libgd-dev libwebp-dev
|
2014-05-05 22:42:15 +02:00
|
|
|
|
|
|
|
before_script:
|
2016-03-23 16:16:50 +01:00
|
|
|
# Ulimit: See Travis-CI issue report: https://github.com/travis-ci/travis-ci/issues/3328
|
2014-05-05 22:42:15 +02:00
|
|
|
- mysql -u root -e "CREATE USER 'ejabberd_test'@'localhost' IDENTIFIED BY 'ejabberd_test';"
|
|
|
|
- mysql -u root -e "CREATE DATABASE ejabberd_test;"
|
|
|
|
- mysql -u root -e "GRANT ALL ON ejabberd_test.* TO 'ejabberd_test'@'localhost';"
|
2018-11-19 12:49:29 +01:00
|
|
|
- mysql -u root ejabberd_test < sql/mysql.sql
|
2014-05-05 22:42:15 +02:00
|
|
|
- psql -U postgres -c "CREATE USER ejabberd_test WITH PASSWORD 'ejabberd_test';"
|
|
|
|
- psql -U postgres -c "CREATE DATABASE ejabberd_test;"
|
2018-11-19 12:58:45 +01:00
|
|
|
- psql -U postgres ejabberd_test -f sql/pg.sql
|
2018-11-19 13:16:51 +01:00
|
|
|
- psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE ejabberd_test TO ejabberd_test;"
|
2018-11-19 13:53:06 +01:00
|
|
|
- psql -U postgres ejabberd_test -c "GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO ejabberd_test;"
|
2014-05-05 22:42:15 +02:00
|
|
|
|
|
|
|
script:
|
|
|
|
- ./autogen.sh
|
2018-01-30 15:31:07 +01:00
|
|
|
- ./configure --prefix=/tmp/ejabberd --enable-all --disable-odbc --disable-riak
|
2015-10-19 14:23:37 +02:00
|
|
|
- make
|
2018-01-31 17:54:32 +01:00
|
|
|
- make install -s
|
2014-10-30 18:26:42 +01:00
|
|
|
- make xref
|
2016-03-15 18:14:27 +01:00
|
|
|
- sed -i -e 's/ct:pal/ct:log/' test/suite.erl
|
|
|
|
- ln -sf ../sql priv/
|
2018-01-31 17:03:18 +01:00
|
|
|
- echo "" >> rebar.config
|
2018-01-31 17:10:05 +01:00
|
|
|
- echo '{ct_extra_params, "-verbosity 20"}.' >> rebar.config
|
2018-01-31 17:03:18 +01:00
|
|
|
- escript ./rebar skip_deps=true ct -v
|
2018-01-31 17:54:32 +01:00
|
|
|
- grep -q 'TEST COMPLETE,.* 0 failed' logs/raw.log
|
2014-05-05 22:42:15 +02:00
|
|
|
|
|
|
|
after_script:
|
|
|
|
- find logs -name suite.log -exec cat '{}' ';'
|
|
|
|
|
|
|
|
after_failure:
|
2016-04-06 17:55:56 +02:00
|
|
|
- find logs -name exunit.log -exec cat '{}' ';'
|
2014-05-05 22:42:15 +02:00
|
|
|
- find logs -name ejabberd.log -exec cat '{}' ';'
|
2018-01-31 17:54:32 +01:00
|
|
|
- find logs -name suite.log -exec cat '{}' ';' | awk 'BEGIN{RS="\n=case";FS="\n"} /=result\s*failed/ {print "=case" $0}
|
2014-05-05 22:42:15 +02:00
|
|
|
|
2016-03-21 12:01:20 +01:00
|
|
|
after_success:
|
2016-03-21 12:15:07 +01:00
|
|
|
- coveralls-merge erlang.json
|
2016-03-21 12:01:20 +01:00
|
|
|
|
2014-05-05 22:42:15 +02:00
|
|
|
notifications:
|
|
|
|
email: false
|