]> granicus.if.org Git - ejabberd/blob - .travis.yml
Lock relx version as newer version does not compile fine
[ejabberd] / .travis.yml
1 language: erlang
2
3 otp_release:
4   - 17.5
5   - 18.3
6
7 services:
8   - riak
9   - redis-server
10
11 before_install:
12   #
13   # We need MySQL 5.6 or newer in order to get support for FULLTEXT indexes
14   # with InnoDB. As soon as Travis ships that version, the following lines
15   # (except for the "apt-get update" call) can go away.
16   #
17   # See: https://github.com/travis-ci/travis-ci/issues/1986
18   #
19   - sudo sed -i -e s/table_cache/table_open_cache/ -e /log_slow_queries/d /etc/mysql/my.cnf
20   - sudo apt-key adv --import .travis/mysql_repo_key.asc
21   - sudo add-apt-repository 'deb http://repo.mysql.com/apt/ubuntu/ precise mysql-5.6'
22   - sudo apt-get -qq update
23   - sudo apt-get -qq -o Dpkg::Options::=--force-confold install mysql-server-5.6
24   # /END MYSQL 5.6
25   - pip install --user coveralls-merge
26
27 install:
28   - sudo apt-get -qq install libexpat1-dev libyaml-dev libpam0g-dev libsqlite3-dev
29
30 before_script:
31   # Ulimit: See Travis-CI issue report: https://github.com/travis-ci/travis-ci/issues/3328
32   - echo 'ulimit -n 4096' > riak
33   - sudo mv riak /etc/default/riak
34   - mkdir "$PWD/ebin"
35   - echo "[{riak_kv, [{add_paths, [\"$PWD/ebin/\"]}]}]." > advanced.config
36   - sudo mv advanced.config /etc/riak/advanced.config
37   - sudo service riak restart
38   - sudo riak-admin wait-for-service riak_kv 'riak@127.0.0.1'
39   - sudo riak-admin test
40   - mysql -u root -e "CREATE USER 'ejabberd_test'@'localhost' IDENTIFIED BY 'ejabberd_test';"
41   - mysql -u root -e "CREATE DATABASE ejabberd_test;"
42   - mysql -u root -e "GRANT ALL ON ejabberd_test.* TO 'ejabberd_test'@'localhost';"
43   - psql -U postgres -c "CREATE USER ejabberd_test WITH PASSWORD 'ejabberd_test';"
44   - psql -U postgres -c "CREATE DATABASE ejabberd_test;"
45   - psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE ejabberd_test TO ejabberd_test;"
46
47 script:
48   - ./autogen.sh
49   - ./configure --prefix=/tmp/ejabberd --enable-all --disable-odbc
50   - make
51   - make install
52   - make xref
53   - sed -i -e 's/ct:pal/ct:log/' test/suite.erl
54   - ln -sf ../sql priv/
55   - escript ./rebar skip_deps=true ct -v
56   - grep -q 'TEST COMPLETE, \([[:digit:]]*\) ok, .* of \1 ' logs/raw.log
57
58 after_script:
59   - find logs -name suite.log -exec cat '{}' ';'
60
61 after_failure:
62   - find logs -name exunit.log -exec cat '{}' ';'
63   # Try checking Riak database logs
64   - tail -n 100000 /var/log/riak/*.log
65   - find logs -name ejabberd.log -exec cat '{}' ';'
66
67 after_success:
68   - coveralls-merge erlang.json
69
70 notifications:
71   email: false