Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit c9b85d2

Browse files
[travis] merge "same Symfony version" jobs in one
1 parent 010cd75 commit c9b85d2

File tree

1 file changed

+72
-62
lines changed

1 file changed

+72
-62
lines changed

β€Ž.travis.yml

Lines changed: 72 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ addons:
1313

1414
env:
1515
global:
16-
- MIN_PHP=5.4.9
16+
- MIN_PHP=5.7.9
1717
- SYMFONY_PROCESS_PHP_TEST_BINARY=~/.phpenv/versions/5.6/bin/php
1818

1919
matrix:
@@ -22,9 +22,7 @@ matrix:
2222
sudo: required
2323
group: edge
2424
- php: 5.4
25-
- php: 5.5
26-
- php: 5.6
27-
- php: 7.0
25+
env: php_extra="5.5 5.6 7.0"
2826
- php: 7.1
2927
env: deps=high
3028
- php: 7.2
@@ -43,19 +41,22 @@ before_install:
4341
- |
4442
# General configuration
4543
stty cols 120
46-
PHP=$TRAVIS_PHP_VERSION
4744
[ -d ~/.composer ] || mkdir ~/.composer
4845
cp .composer/* ~/.composer/
4946
export PHPUNIT=$(readlink -f ./phpunit)
5047
export PHPUNIT_X="$PHPUNIT --exclude-group tty,benchmark,intl-data"
5148
export COMPOSER_UP='composer update --no-progress --no-suggest --ansi'
49+
export COMPONENTS=$(find src/Symfony -mindepth 3 -type f -name phpunit.xml.dist -printf '%h\n')
50+
export COMPONENTS='src/Symfony/Component/Process'
51+
find ~/.phpenv -name xdebug.ini -delete
5252
53-
if [[ $PHP = 5.* ]]; then
53+
if [[ $TRAVIS_PHP_VERSION = 5.* || $TRAVIS_PHP_VERSION = hhvm* ]]; then
5454
composer () {
55-
$HOME/.phpenv/versions/$TRAVIS_PHP_VERSION/bin/composer config platform.php $TRAVIS_PHP_VERSION
56-
$HOME/.phpenv/versions/7.1/bin/php $HOME/.phpenv/versions/$TRAVIS_PHP_VERSION/bin/composer $*
55+
$HOME/.phpenv/versions/7.1/bin/composer config platform.php $(echo ' <?php echo preg_replace("/-.*/", "", PHP_VERSION);' | php /dev/stdin)
56+
$HOME/.phpenv/versions/7.1/bin/php $HOME/.phpenv/versions/7.1/bin/composer $*
5757
}
5858
export -f composer
59+
~/.phpenv/versions/7.1/bin/composer self-update
5960
fi
6061
6162
nanoseconds () {
@@ -93,24 +94,6 @@ before_install:
9394
}
9495
export -f tfold
9596
96-
# php.ini configuration
97-
if [[ $PHP = hhvm* ]]; then
98-
INI=/etc/hhvm/php.ini
99-
else
100-
INI=~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
101-
find ~/.phpenv -name xdebug.ini -delete
102-
fi
103-
echo date.timezone = Europe/Paris >> $INI
104-
echo memory_limit = -1 >> $INI
105-
echo session.gc_probability = 0 >> $INI
106-
echo opcache.enable_cli = 1 >> $INI
107-
echo hhvm.jit = 0 >> $INI
108-
echo apc.enable_cli = 1 >> $INI
109-
[[ $PHP = 5.* ]] && echo extension = memcache.so >> $INI
110-
if [[ $PHP = 5.* ]]; then
111-
echo extension = mongo.so >> $INI
112-
fi
113-
11497
# tpecl is a helper to compile and cache php extensions
11598
tpecl () {
11699
local ext_name=$1
@@ -129,38 +112,62 @@ before_install:
129112
}
130113
export -f tpecl
131114
132-
# Matrix lines for intermediate PHP versions are skipped for pull requests
133-
if [[ ! $deps && ! $PHP = ${MIN_PHP%.*} && ! $PHP = hhvm* && $TRAVIS_PULL_REQUEST != false ]]; then
134-
deps=skip
135-
skip=1
136-
else
137-
COMPONENTS=$(find src/Symfony -mindepth 3 -type f -name phpunit.xml.dist -printf '%h\n')
138-
fi
139-
140115
- |
141116
# Install sigchild-enabled PHP to test the Process component on the lowest PHP matrix line
142-
if [[ ! $deps && $PHP = ${MIN_PHP%.*} && ! -d php-$MIN_PHP/sapi ]]; then
117+
if [[ ! $deps && $TRAVIS_PHP_VERSION = ${MIN_PHP%.*} && ! -d php-$MIN_PHP/sapi ]]; then
143118
wget http://museum.php.net/php5/php-$MIN_PHP.tar.bz2 -O - | tar -xj &&
144119
(cd php-$MIN_PHP && ./configure --enable-sigchild --enable-pcntl && make -j2)
145120
fi
146121
122+
- |
123+
# php.ini configuration
124+
set -e
125+
for PHP in $TRAVIS_PHP_VERSION $php_extra; do
126+
if [[ $PHP = hhvm* ]]; then
127+
INI=/etc/hhvm/php.ini
128+
else
129+
phpenv global $PHP 2>/dev/null || (cd / && wget https://s3.amazonaws.com/travis-php-archives/binaries/ubuntu/14.04/x86_64/php-$PHP.tar.bz2 -O - | tar -xj)
130+
INI=~/.phpenv/versions/$PHP/etc/conf.d/travis.ini
131+
fi
132+
echo date.timezone = Europe/Paris >> $INI
133+
echo memory_limit = -1 >> $INI
134+
echo session.gc_probability = 0 >> $INI
135+
echo opcache.enable_cli = 1 >> $INI
136+
echo hhvm.jit = 0 >> $INI
137+
echo apc.enable_cli = 1 >> $INI
138+
[[ $PHP = 5.* ]] && echo extension = memcache.so >> $INI
139+
if [[ $PHP = 5.* ]]; then
140+
echo extension = mongo.so >> $INI
141+
fi
142+
done
143+
147144
- |
148145
# Install extra PHP extensions
149-
if [[ ! $skip && $PHP = 5.* ]]; then
150-
([[ $deps ]] || tfold ext.symfony_debug 'cd src/Symfony/Component/Debug/Resources/ext && phpize && ./configure && make && echo extension = $(pwd)/modules/symfony_debug.so >> '"$INI")
151-
tfold ext.memcached tpecl memcached-2.1.0 memcached.so $INI
152-
tfold ext.apcu tpecl apcu-4.0.11 apcu.so $INI
153-
elif [[ ! $skip && $PHP = 7.* ]]; then
154-
tfold ext.apcu tpecl apcu-5.1.6 apcu.so $INI
155-
tfold ext.mongodb tpecl mongodb-1.5.0 mongodb.so $INI
156-
fi
146+
set -e
147+
for PHP in $TRAVIS_PHP_VERSION $php_extra; do
148+
if [[ $PHP = hhvm* ]]; then
149+
continue
150+
fi
151+
phpenv global $PHP
152+
INI=~/.phpenv/versions/$PHP/etc/conf.d/travis.ini
153+
if [[ $PHP = 5.* ]]; then
154+
([[ $deps ]] || tfold "🐘 $PHP symfony_debug" 'cd src/Symfony/Component/Debug/Resources/ext && phpize && ./configure && make && mv modules/symfony_debug.so '$(php -r "echo ini_get('extension_dir');")' && phpize --clean && echo extension = symfony_debug.so >>' $INI)
155+
tfold "🐘 $PHP memcached" tpecl memcached-2.1.0 memcached.so $INI
156+
tfold "🐘 $PHP apcu" tpecl apcu-4.0.11 apcu.so $INI
157+
elif [[ $PHP = 7.* ]]; then
158+
ls -l /home/travis/.phpenv/shims
159+
ls -l /home/travis/.phpenv/bin
160+
tfold "🐘 $PHP apcu" tpecl apcu-5.1.6 apcu.so $INI
161+
tfold "🐘 $PHP mongodb" tpecl mongodb-1.5.0 mongodb.so $INI
162+
fi
163+
done
157164
158165
install:
159166
- |
160167
# Create local composer packages for each patched components and reference them in composer.json files when cross-testing components
161168
if [[ ! $deps ]]; then
162169
php .github/build-packages.php HEAD^ src/Symfony/Bridge/PhpUnit
163-
elif [[ ! $skip ]]; then
170+
else
164171
export SYMFONY_DEPRECATIONS_HELPER=weak &&
165172
cp composer.json composer.json.orig &&
166173
echo -e '{\n"require":{'"$(grep phpunit-bridge composer.json)"'"php":"*"},"minimum-stability":"dev"}' > composer.json &&
@@ -176,7 +183,7 @@ install:
176183
git fetch origin $SYMFONY_VERSION &&
177184
git checkout -m FETCH_HEAD &&
178185
COMPONENTS=$(find src/Symfony -mindepth 3 -type f -name phpunit.xml.dist -printf '%h\n')
179-
elif [[ ! $skip ]]; then
186+
else
180187
SYMFONY_VERSION=$(cat composer.json | grep '^ *"dev-master". *"[1-9]' | grep -o '[0-9.]*')
181188
fi
182189
@@ -185,37 +192,40 @@ install:
185192
[[ $deps = high && ${SYMFONY_VERSION%.*} != $(git show $(git ls-remote --heads | grep -FA1 /$SYMFONY_VERSION | tail -n 1):composer.json | grep '^ *"dev-master". *"[1-9]' | grep -o '[0-9]*' | head -n 1) ]] && LEGACY=,legacy
186193
187194
export COMPOSER_ROOT_VERSION=$SYMFONY_VERSION.x-dev
188-
if [[ ! $skip && $deps ]]; then mv composer.json.phpunit composer.json; fi
195+
if [[ $deps ]]; then mv composer.json.phpunit composer.json; fi
189196
190-
if [[ ! $skip && $PHP = 7.* ]]; then
191-
([[ $deps ]] && cd src/Symfony/Component/HttpFoundation; composer require --dev --no-update mongodb/mongodb)
192-
fi
193-
194-
- if [[ ! $skip ]]; then $COMPOSER_UP; fi
195-
- if [[ ! $skip ]]; then ./phpunit install; fi
196197
- |
197198
# phpinfo
198-
if [[ ! $PHP = hhvm* ]]; then php -i; else hhvm --php -r 'print_r($_SERVER);print_r(ini_get_all());'; fi
199+
if [[ ! $TRAVIS_PHP_VERSION = hhvm* ]]; then php -i; else hhvm --php -r 'print_r($_SERVER);print_r(ini_get_all());'; fi
199200
200201
- |
201202
run_tests () {
202-
set -e
203-
if [[ $skip ]]; then
203+
export PHP=$1
204+
if [[ $PHP != $TRAVIS_PHP_VERSION && $TRAVIS_PULL_REQUEST != false ]]; then
204205
echo -e "\\n\\e[1;34mIntermediate PHP version $PHP is skipped for pull requests.\\e[0m"
205-
elif [[ $deps = high ]]; then
206-
echo "$COMPONENTS" | parallel --gnu -j10% "tfold {} 'cd {} && $COMPOSER_UP && $PHPUNIT_X$LEGACY'"
206+
continue
207+
fi
208+
phpenv global ${PHP/hhvm*/hhvm}
209+
tfold "🐘 $PHP composer update" $COMPOSER_UP
210+
tfold "🐘 $PHP phpunit install" ./phpunit install
211+
if [[ $PHP = 7.* ]]; then
212+
([[ $deps ]] && cd src/Symfony/Component/HttpFoundation; composer require --dev --no-update mongodb/mongodb)
213+
fi
214+
set -e
215+
if [[ $deps = high ]]; then
216+
echo "$COMPONENTS" | parallel --gnu -j10% "tfold '🐘 $PHP {}' 'cd {} && $COMPOSER_UP && $PHPUNIT_X$LEGACY'"
207217
elif [[ $deps = low ]]; then
208-
echo "$COMPONENTS" | parallel --gnu -j10% "tfold {} 'cd {} && $COMPOSER_UP --prefer-lowest --prefer-stable && $PHPUNIT_X'"
218+
echo "$COMPONENTS" | parallel --gnu -j10% "tfold '🐘 $PHP {}' 'cd {} && $COMPOSER_UP --prefer-lowest --prefer-stable && $PHPUNIT_X'"
209219
elif [[ $PHP = hhvm* ]]; then
210220
$PHPUNIT --exclude-group no-hhvm,benchmark,intl-data
211221
else
212-
echo "$COMPONENTS" | parallel --gnu "tfold {} $PHPUNIT_X {}"
213-
tfold tty-group $PHPUNIT --group tty
222+
echo "$COMPONENTS" | parallel --gnu "tfold '🐘 $PHP {}' $PHPUNIT_X {}"
223+
tfold "🐘 $PHP tty-group" $PHPUNIT --group tty
214224
if [[ $PHP = ${MIN_PHP%.*} ]]; then
215-
echo -e "1\\n0" | xargs -I{} bash -c "tfold src/Symfony/Component/Process.sigchild{} ENHANCE_SIGCHLD={} php-$MIN_PHP/sapi/cli/php .phpunit/phpunit-4.8/phpunit --colors=always src/Symfony/Component/Process/"
225+
echo -e "1\\n0" | xargs -I{} bash -c "tfold '🐘 $MIN_PHP src/Symfony/Component/Process.sigchild{}' ENHANCE_SIGCHLD={} php-$MIN_PHP/sapi/cli/php .phpunit/phpunit-4.8/phpunit --colors=always src/Symfony/Component/Process/"
216226
fi
217227
fi
218228
}
219229
220230
script:
221-
- (run_tests)
231+
- set -e && for PHP in $TRAVIS_PHP_VERSION $php_extra; do (run_tests $PHP); done

0 commit comments

Comments
Β (0)