mirror of
https://github.com/php/php-src.git
synced 2024-11-24 02:15:04 +08:00
8b281e5b6b
Our primary CI has been Azure Pipelines for a while now already. Travis was primarily retained as a) a fast feedback builder and b) to test architectures not available elsewhere. Due to Travis CI open source policy changes, Travis is no longer useful as a fast feedback builder. As such, only use it for cron job builds.
105 lines
2.7 KiB
YAML
105 lines
2.7 KiB
YAML
git:
|
|
quiet: true
|
|
|
|
dist: bionic
|
|
language: c
|
|
os: linux
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- locales
|
|
- language-pack-de
|
|
- re2c
|
|
- ccache
|
|
- mysql-server
|
|
- libaspell-dev
|
|
- libbz2-dev
|
|
- libcurl4-gnutls-dev
|
|
- libenchant-dev
|
|
- libfreetype6-dev
|
|
- libgmp-dev
|
|
- libicu-dev
|
|
- libjpeg-dev
|
|
- libkrb5-dev
|
|
- libonig-dev
|
|
- libpng-dev
|
|
- libpq-dev
|
|
- libpspell-dev
|
|
- libsasl2-dev
|
|
- libsqlite3-dev
|
|
- libsodium-dev
|
|
- libtidy-dev
|
|
- libwebp-dev
|
|
- libxml2-dev
|
|
- libxpm-dev
|
|
- libxslt1-dev
|
|
- libzip-dev
|
|
|
|
|
|
services:
|
|
- mysql
|
|
- postgresql
|
|
|
|
notifications:
|
|
email:
|
|
on_failure: change
|
|
irc:
|
|
template:
|
|
- "%{repository}#%{build_number} (%{branch} - %{commit} : %{author}): %{message} - Change view : %{compare_url} - Build details : %{build_url}"
|
|
channels:
|
|
- "irc.efnet.org#php.pecl"
|
|
on_success: change
|
|
on_failure: always
|
|
|
|
cache:
|
|
apt: true
|
|
ccache: true
|
|
|
|
env:
|
|
global:
|
|
- MYSQL_TEST_HOST=127.0.0.1
|
|
- MYSQL_TEST_USER=travis
|
|
- PDO_MYSQL_TEST_DSN="mysql:host=127.0.0.1;dbname=test"
|
|
- PDO_MYSQL_TEST_USER=travis
|
|
- PDO_MYSQL_TEST_PASS=
|
|
- PDO_MYSQL_TEST_HOST=127.0.0.1
|
|
- PDO_PGSQL_TEST_DSN="pgsql:host=localhost port=5432 dbname=test user=postgres password="
|
|
- REPORT_EXIT_STATUS=1
|
|
|
|
jobs:
|
|
include:
|
|
- env: ENABLE_ZTS=0 ENABLE_DEBUG=0
|
|
arch: amd64
|
|
if: type = cron
|
|
- env: ENABLE_ZTS=1 ENABLE_DEBUG=1
|
|
arch: amd64
|
|
if: type = cron
|
|
- env: ENABLE_ZTS=1 ENABLE_DEBUG=1 SKIP_IO_CAPTURE_TESTS=1 ARM64=1
|
|
arch: arm64
|
|
if: type = cron
|
|
- env: ENABLE_ZTS=1 ENABLE_DEBUG=1 SKIP_IO_CAPTURE_TESTS=1 S390X=1
|
|
arch: s390x
|
|
if: type = cron
|
|
|
|
before_script:
|
|
- ccache --version
|
|
- ccache --zero-stats
|
|
- export USE_CCACHE=1
|
|
# Enable IPv6
|
|
- sudo sh -c 'echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6'
|
|
# Compile PHP
|
|
- travis_wait ./travis/compile.sh
|
|
# Setup Extensions
|
|
- ./travis/setup-mysql.sh
|
|
- ./travis/setup-pgsql.sh
|
|
|
|
# Run PHPs run-tests.php
|
|
script:
|
|
# ARM64 CI reports nproc=32, which is excessive.
|
|
- if [ -z "$ARM64" ]; then export JOBS=$(nproc); else export JOBS=16; fi
|
|
- ./sapi/cli/php run-tests.php -P -d extension=`pwd`/modules/zend_test.so $(if [ $ENABLE_DEBUG == 0 ]; then echo "-d opcache.enable_cli=1 -d opcache.protect_memory=1 -d opcache.jit_buffer_size=16M -d zend_extension=`pwd`/modules/opcache.so"; fi) -g "FAIL,XFAIL,BORK,WARN,LEAK,SKIP" --offline --show-diff --show-slow 1000 --set-timeout 120 -j$JOBS
|
|
- sapi/cli/php -d extension_dir=`pwd`/modules -r 'dl("zend_test");'
|
|
|
|
after_success:
|
|
- ccache --show-stats
|