forked from facebook/hhvm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
57 lines (50 loc) · 1.85 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
language: cpp
# This doesn't work - travis defaults to plain gcc if unknown
# http://github.com/travis-ci/travis-ci/issues/979
# http://llvm.org/apt/
compiler:
- gcc
# - gcc-4.8
# - clang-3.4
# - clang-3.5
services:
- memcached
- redis-server
# Commands before installing prerequisites
before_script:
# we can't compile with this system version
- time sudo apt-get remove libsqlite3-dev
- time TRAVIS=1 ./configure_generic.sh -DENABLE_COTIRE=ON
# for some tests
- time sudo locale-gen de_DE && sudo locale-gen zh_CN.utf8 && sudo locale-gen fr_FR
- time make -j 6
# mysql configuration for unit-tests
- mysql -e 'CREATE DATABASE IF NOT EXISTS hhvm;'
- export PDO_MYSQL_TEST_DSN="mysql:host=127.0.0.1;dbname=hhvm"
- export PDO_MYSQL_TEST_USER="travis"
- export PDO_MYSQL_TEST_PASS=""
# For PHP5 mysqli tests
- export MYSQL_TEST_USER="travis"
- export MYSQL_TEST_DB="hhvm"
# For redis tests
- export REDIS_TEST_HOST="localhost"
# Sadly, travis only gives up 50 minutes to compile and run our tests. The
# compilation machines usually have a bunch of CPUs but very little RAM so gcc
# dies trying to compile some of our files if we do more than -j 6. So, with -j
# 6 that takes ~40 minutes, leaving only 10 minutes to test. The only thing we
# can fit in that time is the quick tests in no-repo mode. So basically this is
# a smoke test (did it compile and not segfault immediately) instead of a real
# test run. Please check out the attached phabricator to your PR for full unit
# test coverage.
env:
- TEST_RUN_MODE="-m jit quick"
- TEST_RUN_MODE="-m interp quick"
# Main test script
script: time hphp/hhvm/hhvm hphp/test/run $TEST_RUN_MODE
# Notifications
# The default is to send email on all failures and changed success
# Adding other notifiers (like IRC) does not disable the email one
notifications:
email: false
matrix:
fast_finish: true