sudo: required language: php php: - 7.0 - 7.1 - 7.2 - 7.3 - 7.4 - nightly env: CC=gcc matrix: allow_failures: - php: 7.3 env: CC=clang - php: 7.4 env: CC=clang - php: nightly include: - php: 7.0 env: CC=clang - php: 7.1 env: CC=clang - php: 7.2 env: CC=clang - php: 7.3 env: CC=clang - php: 7.4 env: CC=clang addons: apt: packages: - clang - libzstd1-dev - valgrind before_install: - phpize - CFGARGS="--enable-redis-lzf --enable-redis-zstd" - pecl install igbinary && CFGARGS="$CFGARGS --enable-redis-igbinary" - pecl install msgpack && CFGARGS="$CFGARGS --enable-redis-msgpack" - ./configure $CFGARGS install: make install before_script: - mkdir -p tests/nodes/ && echo > tests/nodes/nodemap - redis-server --port 0 --daemonize yes --requirepass phpredis --unixsocket /tmp/redis.sock - for PORT in $(seq 6379 6382) $(seq 32767 32769); do redis-server --port $PORT --daemonize yes --requirepass phpredis; done - for PORT in $(seq 7000 7011); do redis-server --port $PORT --cluster-enabled yes --cluster-config-file $PORT.conf --daemonize yes --requirepass phpredis --masterauth phpredis; echo 127.0.0.1:$PORT >> tests/nodes/nodemap; done - for PORT in $(seq 26379 26380); do wget download.redis.io/redis-stable/sentinel.conf -O $PORT.conf; echo sentinel auth-pass mymaster phpredis >> $PORT.conf; redis-server $PORT.conf --port $PORT --daemonize yes --sentinel; done - echo yes | redis-cli --cluster create $(seq -f 127.0.0.1:%g 7000 7011) --cluster-replicas 3 -a phpredis - echo 'extension = redis.so' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini script: - php tests/TestRedis.php --class Redis --auth phpredis - php tests/TestRedis.php --class RedisArray --auth phpredis - php tests/TestRedis.php --class RedisCluster --auth phpredis - php tests/TestRedis.php --class RedisSentinel --auth phpredis - USE_ZEND_ALLOC=0 valgrind --error-exitcode=1 php tests/TestRedis.php --class Redis --auth phpredis - USE_ZEND_ALLOC=0 valgrind --error-exitcode=1 php tests/TestRedis.php --class RedisArray --auth phpredis - USE_ZEND_ALLOC=0 valgrind --error-exitcode=1 php tests/TestRedis.php --class RedisCluster --auth phpredis - USE_ZEND_ALLOC=0 valgrind --error-exitcode=1 php tests/TestRedis.php --class RedisSentinel --auth phpredis