forked from phadej/igbinary
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.travis.yml
More file actions
114 lines (102 loc) · 4.8 KB
/
.travis.yml
File metadata and controls
114 lines (102 loc) · 4.8 KB
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
language: php
# Available php versions can be seen at https://github.com/php-build/php-build/tree/master/share/php-build/definitions
# NOTE: Older OS versions have older valgrind versions and report false positives for zend_string_equals in php 7.3+
# due to the use of inline assembly in php-src.
matrix:
include:
- php: nightly
env: CC=gcc CFLAGS="" SKIP_VALGRIND=1
dist: focal
- php: 8.1.0RC6
env: CC=gcc CFLAGS="" SKIP_VALGRIND=1
dist: focal
- php: 8.1.0RC6
env: CC=gcc CFLAGS="-g -O0 -fstack-protector -fstack-protector-all" SKIP_VALGRIND=1
dist: focal
- php: 8.0
env: CC=gcc CFLAGS="" SKIP_VALGRIND=1
dist: focal
- php: 8.0
env: CC=gcc CFLAGS="-g -O0 -fstack-protector -fstack-protector-all" SKIP_VALGRIND=1
dist: focal
# valgrind reports "WARNING: unhandled x86-linux syscall: 403"
- php: 8.0
env: CC=gcc CXX=g++ USE_32BIT=1 PHP_CUSTOM=maintainer-zts PHP_CONFIGURE_ARGS='--disable-all --enable-zts --enable-debug --enable-cgi --enable-session --enable-json' SKIP_VALGRIND=1
dist: focal
- php: 7.4
env: CC=gcc CFLAGS="-g -O0 -fstack-protector -fstack-protector-all" SKIP_VALGRIND=1
dist: focal
- php: 7.4
env: CC=gcc CXX=g++ USE_32BIT=1 PHP_CUSTOM=maintainer-zts PHP_CONFIGURE_ARGS='--disable-all --enable-maintainer-zts --enable-debug --enable-cgi --enable-session --enable-json' SKIP_VALGRIND=1
dist: focal
- php: 7.4
env: CC=gcc CXX=g++ PHP_CUSTOM=maintainer-zts PHP_CONFIGURE_ARGS='--disable-all --enable-maintainer-zts --enable-debug --enable-cgi --enable-session --enable-json'
dist: focal
- php: 7.3
env: CC=gcc CXX=g++ USE_32BIT=1 PHP_CUSTOM=maintainer-zts PHP_CONFIGURE_ARGS='--disable-all --enable-maintainer-zts --enable-debug --enable-cgi --enable-session --enable-json'
dist: xenial
- php: 7.2
env: CC=clang CFLAGS="-O3" SKIP_VALGRIND=1
dist: xenial
- php: 7.2
env: CC=clang CFLAGS=""
dist: xenial
- php: 7.2
env: CC=gcc CFLAGS=""
dist: xenial
- php: 7.2
env: CC=gcc CFLAGS="-g -O0 -fstack-protector -fstack-protector-all" SKIP_VALGRIND=1
dist: xenial
- php: 7.2
env: CC=gcc CXX=g++ USE_32BIT=1 PHP_CUSTOM=maintainer-zts PHP_CONFIGURE_ARGS='--disable-all --enable-maintainer-zts --enable-debug --enable-cgi --enable-session --enable-json'
dist: xenial
- php: 7.1
env: CC=clang CFLAGS="-g -O0"
dist: xenial
- php: 7.1
env: CC=gcc CFLAGS=""
dist: xenial
- php: 7.1
env: CC=gcc CXX=g++ USE_32BIT=1 PHP_CUSTOM=maintainer-zts PHP_CONFIGURE_ARGS='--disable-all --enable-maintainer-zts --enable-debug --enable-cgi --enable-session --enable-json'
dist: xenial
- php: 7.0
env: CC=clang CFLAGS="-O3" SKIP_VALGRIND=1
dist: xenial
- php: 7.0
env: CC=gcc CFLAGS=""
dist: xenial
- php: 7.0
env: CC=gcc CFLAGS="-g -O0 -fstack-protector -fstack-protector-all" SKIP_VALGRIND=1
dist: xenial
- php: 7.0
env: CC=gcc CXX=g++ USE_32BIT=1 PHP_CUSTOM=maintainer-zts PHP_CONFIGURE_ARGS='--disable-all --enable-maintainer-zts --enable-debug --enable-cgi --enable-session --enable-json'
dist: xenial
cache:
directories:
- $HOME/travis_cache
install:
- sudo apt-get update -qq
- sudo apt-get install -qq $CC
# For 32-bit installations: Install multilib so it can be compiled, as well libc6-dbg:i386 so that valgrind will work.
- if [ "x$USE_32BIT" != "x" ]; then sudo apt-get install -y $CXX g++-multilib libc6-dev-i386 libc6-dbg:i386; export CC="$PWD/ci/gcc-32.sh"; export CXX="$PWD/ci/g++-32.sh"; $CC --version; if [ ! -d /usr/include/asm ]; then ln -nsf /usr/include/asm-generic /usr/include/asm; fi; fi
- ls /usr/include -la; find /usr/include -iname errno.h
# If making a 32-bit build: Automatically determine and download the latest patch of each minor version we support.
- if [ "x$SKIP_VALGRIND" = "x" ]; then sudo apt-get install -qq valgrind; valgrind --version; fi
- if [ "x$PHP_CUSTOM" != "x" ]; then export PHP_CUSTOM_VERSION=$(./ci/get_global_php_version.sh); echo "Version is $PHP_CUSTOM_VERSION"; ./ci/install_php_custom.sh || exit 1; export PATH="$(./ci/generate_php_install_dir.sh)/bin:$PATH"; export PHPRC=$PWD/ci/; else ./ci/wipe_travis_cache.sh; fi
- $CC --version
before_script:
- $CC --version && ci/print_php_int_max.php
script:
- phpize
# Replace run-tests.php with a patched version (from php 7.4's) that supports parallel builds.
- cp ci/run-tests-parallel.php run-tests.php
- ./configure --enable-igbinary
- make
- REPORT_EXIT_STATUS=1 NO_INTERACTION=1 TEST_PHP_ARGS="--show-diff -j2" make test
# For most travis builds, re-run `make test` with valgrind.
- if [ "x$SKIP_VALGRIND" = "x" ]; then export TEST_PHP_ARGS="-m --show-diff -j2"; REPORT_EXIT_STATUS=1 NO_INTERACTION=1 make test; fi
# Print a summary of any memory leaks
- shopt -s nullglob; head -n 999 tests/*.mem < /dev/null
branches:
only:
- master