Fix ASAN-identified memcpy issue
[hiphop-php.git] / .travis.yml
blobe715f416391cdb42d461c08e0363764b76adeb80
1 language: cpp
3 # This doesn't work - travis defaults to plain gcc if unknown
4 # http://github.com/travis-ci/travis-ci/issues/979
5 # http://llvm.org/apt/
6 compiler:
7   - gcc
8 #  - gcc-4.8
9 #  - clang-3.4
10 #  - clang-3.5
12 cache:
13   - apt
15 services:
16   - memcached
17   - redis-server
19 # Commands before installing prerequisites
20 before_script:
21 # we can't compile with this system version
22   - time sudo apt-get remove libsqlite3-dev
23   - time TRAVIS=1 ./configure_generic.sh -DENABLE_COTIRE=ON
24 # for some tests
25   - time sudo locale-gen de_DE && sudo locale-gen zh_CN.utf8 && sudo locale-gen fr_FR
26   - time make -j 6
27 # mysql configuration for unit-tests
28   - mysql -e 'CREATE DATABASE IF NOT EXISTS hhvm;'
29   - export PDO_MYSQL_TEST_DSN="mysql:host=127.0.0.1;dbname=hhvm"
30   - export PDO_MYSQL_TEST_USER="travis"
31   - export PDO_MYSQL_TEST_PASS=""
32 # For PHP5 mysqli tests
33   - export MYSQL_TEST_USER="travis"
34   - export MYSQL_TEST_DB="hhvm"
35 # For redis tests
36   - export REDIS_TEST_HOST="localhost"
38 # Sadly, travis only gives up 50 minutes to compile and run our tests. The
39 # compilation machines usually have a bunch of CPUs but very little RAM so gcc
40 # dies trying to compile some of our files if we do more than -j 6. So, with -j
41 # 6 that takes ~40 minutes, leaving only 10 minutes to test. The only thing we
42 # can fit in that time is the quick tests in no-repo mode. So basically this is
43 # a smoke test (did it compile and not segfault immediately) instead of a real
44 # test run. Please check out the attached phabricator to your PR for full unit
45 # test coverage.
46 env:
47   - TEST_RUN_MODE="-m jit       quick"
48   - TEST_RUN_MODE="-m interp    quick"
50 # Main test script
51 script: time hphp/hhvm/hhvm hphp/test/run $TEST_RUN_MODE
53 # Notifications
54 # The default is to send email on all failures and changed success
55 # Adding other notifiers (like IRC) does not disable the email one
56 notifications:
57   email: false
59 matrix:
60   fast_finish: true