Skip to content

Commit 9a04b00

Browse files
minor symfony#39823 [travis] use PHP 8.0 to patch return types and run deps=low (nicolas-grekas)
This PR was merged into the 4.4 branch. Discussion ---------- [travis] use PHP 8.0 to patch return types and run deps=low | Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | - | License | MIT | Doc PR | - (I need to verify that DebugClassLoader works as expected before merging) Commits ------- 7f5ea78 [travis] use PHP 8.0 to patch return types and run deps=low
2 parents 0e25f40 + 7f5ea78 commit 9a04b00

File tree

23 files changed

+63
-62
lines changed

23 files changed

+63
-62
lines changed

.github/patch-types.php

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,28 +22,25 @@
2222

2323
foreach ($loader->getClassMap() as $class => $file) {
2424
switch (true) {
25-
case false !== strpos(realpath($file), '/vendor/'):
25+
case false !== strpos($file = realpath($file), '/vendor/'):
2626
case false !== strpos($file, '/src/Symfony/Bridge/PhpUnit/'):
2727
case false !== strpos($file, '/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Validation/Article.php'):
2828
case false !== strpos($file, '/src/Symfony/Component/Config/Tests/Fixtures/BadFileName.php'):
2929
case false !== strpos($file, '/src/Symfony/Component/Config/Tests/Fixtures/BadParent.php'):
3030
case false !== strpos($file, '/src/Symfony/Component/Config/Tests/Fixtures/ParseError.php'):
3131
case false !== strpos($file, '/src/Symfony/Component/Debug/Tests/Fixtures/'):
3232
case false !== strpos($file, '/src/Symfony/Component/DependencyInjection/Tests/Compiler/OptionalServiceClass.php'):
33-
case false !== strpos($file, '/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/UnionConstructor.php'):
3433
case false !== strpos($file, '/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/autowiring_classes.php'):
35-
case false !== strpos($file, '/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/uniontype_classes.php'):
34+
case false !== strpos($file, '/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/MultipleArgumentsOptionalScalarNotReallyOptional.php'):
3635
case false !== strpos($file, '/src/Symfony/Component/DependencyInjection/Tests/Fixtures/ParentNotExists.php'):
3736
case false !== strpos($file, '/src/Symfony/Component/DependencyInjection/Tests/Fixtures/Preload/'):
3837
case false !== strpos($file, '/src/Symfony/Component/DependencyInjection/Tests/Fixtures/Prototype/BadClasses/MissingParent.php'):
3938
case false !== strpos($file, '/src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/'):
4039
case false !== strpos($file, '/src/Symfony/Component/ErrorHandler/Tests/Fixtures/'):
4140
case false !== strpos($file, '/src/Symfony/Component/PropertyInfo/Tests/Fixtures/Dummy.php'):
4241
case false !== strpos($file, '/src/Symfony/Component/PropertyInfo/Tests/Fixtures/ParentDummy.php'):
43-
case false !== strpos($file, '/src/Symfony/Component/PropertyInfo/Tests/Fixtures/Php80Dummy.php'):
4442
case false !== strpos($file, '/src/Symfony/Component/Serializer/Tests/Normalizer/Features/ObjectOuter.php'):
4543
case false !== strpos($file, '/src/Symfony/Component/VarDumper/Tests/Fixtures/NotLoadableClass.php'):
46-
case false !== strpos($file, '/src/Symfony/Component/VarDumper/Tests/Fixtures/Php74.php') && \PHP_VERSION_ID < 70400:
4744
continue 2;
4845
}
4946

.github/rm-invalid-lowest-lock-files.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
error_reporting(-1);
44
set_error_handler(function ($type, $message, $file, $line) {
5-
if (error_reporting()) {
5+
if (error_reporting() & $type) {
66
throw new \ErrorException($message, 0, $type, $file, $line);
77
}
88
});

.travis.yml

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,11 @@ env:
2121
matrix:
2222
include:
2323
- php: 7.1
24-
env: php_extra="7.2 7.4"
25-
- php: 7.3
26-
env: deps=high
24+
env: php_extra="7.2 7.3 8.0"
2725
- php: 7.4
28-
env: deps=low
26+
env: deps=high
2927
- php: 8.0
30-
services: [memcached]
28+
env: deps=low
3129
fast_finish: true
3230

3331
cache:
@@ -71,7 +69,7 @@ before_install:
7169
7270
# tfold is a helper to create folded reports
7371
tfold () {
74-
local title="🐘 $PHP $1 $FLIP"
72+
local title="$PHP $1 $FLIP"
7573
local fold=$(echo $title | sed -r 's/[^-_A-Za-z0-9]+/./g')
7674
shift
7775
local id=$(printf %08x $(( RANDOM * RANDOM )))
@@ -183,6 +181,7 @@ install:
183181
git config --global user.name "Symfony"
184182
185183
export SYMFONY_VERSION=$(grep branch-version composer.json | grep -o '[0-9.x]*')
184+
SYMFONY_VERSIONS=$(git ls-remote -q --heads);
186185
187186
if [[ ! $deps ]]; then
188187
php .github/build-packages.php HEAD^ $SYMFONY_VERSION src/Symfony/Bridge/PhpUnit
@@ -202,8 +201,8 @@ install:
202201
- |
203202
# For the feature-branch, when deps=high, the version before it is checked out and tested with the locally patched components
204203
if [[ $deps = high && $TRAVIS_BRANCH = *.x ]]; then
205-
export FLIP='🙃'
206-
export SYMFONY_VERSION=$(git ls-remote -q --heads | grep -o '/[1-9]\.[0-9].*' | tail -n 1 | sed s/.//) &&
204+
export FLIP='^'
205+
export SYMFONY_VERSION=$(echo "$SYMFONY_VERSIONS" | grep -o '/[1-9]\.[0-9].*' | tail -n 1 | sed s/.//) &&
207206
git fetch --depth=2 origin $SYMFONY_VERSION &&
208207
git checkout -m FETCH_HEAD &&
209208
export COMPONENTS=$(find src/Symfony -mindepth 2 -type f -name phpunit.xml.dist -printf '%h\n' | sort)
@@ -226,7 +225,7 @@ install:
226225
227226
- |
228227
# Legacy tests are skipped when deps=high and when the current branch version has not the same major version number as the next one
229-
[[ $deps = high && ${SYMFONY_VERSION%.*} != $(git ls-remote -q --heads | cut -f2 | grep -FA1 /$SYMFONY_VERSION | tail -n 1 | grep -o '[0-9]*' | head -n 1) ]] && export LEGACY=,legacy
228+
[[ $deps = high && ${SYMFONY_VERSION%.*} != $(echo "$SYMFONY_VERSIONS" | cut -f2 | grep -FA1 /$SYMFONY_VERSION | tail -n 1 | grep -o '[0-9]*' | head -n 1) ]] && export LEGACY=,legacy
230229
231230
if [[ $deps ]]; then mv composer.json.phpunit composer.json; fi
232231
@@ -248,7 +247,7 @@ install:
248247
set -e
249248
export PHP=$1
250249
251-
if [[ $PHP != 7.4* && $PHP != $TRAVIS_PHP_VERSION && $TRAVIS_PULL_REQUEST != false ]]; then
250+
if [[ $PHP != 8.0* && $PHP != $TRAVIS_PHP_VERSION && $TRAVIS_PULL_REQUEST != false ]]; then
252251
echo -e "\\n\\e[33;1mIntermediate PHP version $PHP is skipped for pull requests.\\e[0m"
253252
return
254253
fi
@@ -262,8 +261,8 @@ install:
262261
(cd src/Symfony/Component/HttpFoundation; mv composer.bak composer.json)
263262
COMPONENTS=$(git diff --name-only src/ | grep composer.json || true)
264263
265-
if [[ $COMPONENTS && $LEGACY && ! $TRAVIS_BRANCH = *.x && $TRAVIS_PULL_REQUEST != false ]]; then
266-
export FLIP='🙃'
264+
if [[ $COMPONENTS && $LEGACY && ! $TRAVIS_BRANCH = *.x && $TRAVIS_PULL_REQUEST != false && $(echo "$SYMFONY_VERSIONS" | cut -f2 | grep -FA1 /$SYMFONY_VERSION | tail -n 1) = *.x ]]; then
265+
export FLIP='^'
267266
SYMFONY_VERSION=$(echo $SYMFONY_VERSION | awk '{print $1 - 1}')
268267
echo -e "\\n\\e[33;1mChecking out Symfony $SYMFONY_VERSION and running tests with patched components as deps\\e[0m"
269268
export SYMFONY_REQUIRE=">=$SYMFONY_VERSION"
@@ -283,12 +282,12 @@ install:
283282
echo "$COMPONENTS" | parallel --gnu "tfold {} 'cd {} && ([ -e composer.lock ] && ${COMPOSER_UP/update/install} || $COMPOSER_UP --prefer-lowest --prefer-stable) && $PHPUNIT_X'"
284283
echo "$COMPONENTS" | xargs -n1 -I{} tar --append -f ~/php-ext/composer-lowest.lock.tar {}/composer.lock
285284
else
286-
if [[ $PHP = 7.4* ]]; then
285+
if [[ $PHP = 8.0* ]]; then
287286
# add return types before running the test suite
288287
sed -i 's/"\*\*\/Tests\/"//' composer.json
289288
composer install --optimize-autoloader
290-
SYMFONY_PATCH_TYPE_DECLARATIONS=force=object php .github/patch-types.php
291-
SYMFONY_PATCH_TYPE_DECLARATIONS=force=object php .github/patch-types.php # ensure the script is idempotent
289+
SYMFONY_PATCH_TYPE_DECLARATIONS=force=1 php .github/patch-types.php
290+
SYMFONY_PATCH_TYPE_DECLARATIONS=force=1 php .github/patch-types.php # ensure the script is idempotent
292291
PHPUNIT_X="$PHPUNIT_X,legacy"
293292
fi
294293

composer.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
"friendsofphp/proxy-manager-lts": "^1.0.2",
2222
"doctrine/event-manager": "~1.0",
2323
"doctrine/persistence": "^1.3|^2",
24-
"twig/twig": "^1.41|^2.10|^3.0",
24+
"twig/twig": "^1.43|^2.13|^3.0.4",
2525
"psr/cache": "~1.0",
2626
"psr/container": "^1.0",
2727
"psr/link": "^1.0",
@@ -102,14 +102,14 @@
102102
"require-dev": {
103103
"cache/integration-tests": "dev-master",
104104
"composer/package-versions-deprecated": "^1.8",
105-
"doctrine/annotations": "~1.0",
105+
"doctrine/annotations": "^1.10.4",
106106
"doctrine/cache": "~1.6",
107107
"doctrine/collections": "~1.0",
108108
"doctrine/data-fixtures": "^1.1",
109-
"doctrine/dbal": "~2.4|^3.0",
110-
"doctrine/orm": "~2.4,>=2.4.5",
109+
"doctrine/dbal": "^2.6|^3.0",
110+
"doctrine/orm": "^2.6.3",
111111
"doctrine/doctrine-bundle": "^1.5|^2.0",
112-
"guzzlehttp/promises": "^1.3.1",
112+
"guzzlehttp/promises": "^1.4",
113113
"masterminds/html5": "^2.6",
114114
"monolog/monolog": "^1.25.1",
115115
"nyholm/psr7": "^1.0",
@@ -118,7 +118,7 @@
118118
"predis/predis": "~1.1",
119119
"psr/http-client": "^1.0",
120120
"psr/simple-cache": "^1.0",
121-
"egulias/email-validator": "~1.2,>=1.2.8|~2.0",
121+
"egulias/email-validator": "^2.1.10",
122122
"symfony/phpunit-bridge": "^5.2",
123123
"symfony/security-acl": "~2.8|~3.0",
124124
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
@@ -129,8 +129,8 @@
129129
"conflict": {
130130
"masterminds/html5": "<2.6",
131131
"monolog/monolog": ">=2",
132-
"phpdocumentor/reflection-docblock": "<3.0||>=3.2.0,<3.2.2",
133-
"phpdocumentor/type-resolver": "<0.3.0",
132+
"phpdocumentor/reflection-docblock": "<3.0|>=3.2.0,<3.2.2",
133+
"phpdocumentor/type-resolver": "<0.3.0|1.3.*",
134134
"ocramius/proxy-manager": "<2.1",
135135
"phpunit/phpunit": "<5.4.3"
136136
},

src/Symfony/Bridge/Doctrine/composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@
3939
"symfony/validator": "^4.4.2|^5.0.2",
4040
"symfony/var-dumper": "^3.4|^4.0|^5.0",
4141
"symfony/translation": "^3.4|^4.0|^5.0",
42-
"doctrine/annotations": "~1.7",
42+
"doctrine/annotations": "^1.10.4",
4343
"doctrine/cache": "~1.6",
4444
"doctrine/collections": "~1.0",
4545
"doctrine/data-fixtures": "^1.1",
46-
"doctrine/dbal": "~2.4|^3.0",
46+
"doctrine/dbal": "^2.6|^3.0",
4747
"doctrine/orm": "^2.6.3"
4848
},
4949
"conflict": {

src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler/Deprecation.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,9 @@ public function __construct($message, array $trace, $file)
8282
$this->message = $parsedMsg['deprecation'];
8383
$this->originClass = $parsedMsg['class'];
8484
$this->originMethod = $parsedMsg['method'];
85-
$this->originalFilesStack = $parsedMsg['files_stack'];
85+
if (isset($parsedMsg['files_stack'])) {
86+
$this->originalFilesStack = $parsedMsg['files_stack'];
87+
}
8688
// If the deprecation has been triggered via
8789
// \Symfony\Bridge\PhpUnit\Legacy\SymfonyTestsListenerTrait::endTest()
8890
// then we need to use the serialized information to determine

src/Symfony/Bridge/PhpUnit/Legacy/SymfonyTestsListenerTrait.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ public function endTest($test, $time)
260260
unlink($this->runsInSeparateProcess);
261261
putenv('SYMFONY_DEPRECATIONS_SERIALIZE');
262262
foreach ($deprecations ? unserialize($deprecations) : [] as $deprecation) {
263-
$error = serialize(['deprecation' => $deprecation[1], 'class' => $className, 'method' => $test->getName(false), 'triggering_file' => isset($deprecation[2]) ? $deprecation[2] : null]);
263+
$error = serialize(['deprecation' => $deprecation[1], 'class' => $className, 'method' => $test->getName(false), 'triggering_file' => isset($deprecation[2]) ? $deprecation[2] : null, 'files_stack' => isset($deprecation[3]) ? $deprecation[3] : []]);
264264
if ($deprecation[0]) {
265265
// unsilenced on purpose
266266
trigger_error($error, \E_USER_DEPRECATED);

src/Symfony/Bridge/Twig/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"require": {
1919
"php": ">=7.1.3",
2020
"symfony/translation-contracts": "^1.1|^2",
21-
"twig/twig": "^1.41|^2.10|^3.0"
21+
"twig/twig": "^1.43|^2.13|^3.0.4"
2222
},
2323
"require-dev": {
2424
"egulias/email-validator": "^2.1.10",

src/Symfony/Bundle/FrameworkBundle/composer.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@
2727
"symfony/polyfill-mbstring": "~1.0",
2828
"symfony/filesystem": "^3.4|^4.0|^5.0",
2929
"symfony/finder": "^3.4|^4.0|^5.0",
30-
"symfony/routing": "^4.4|^5.0"
30+
"symfony/routing": "^4.4.12|^5.1.4"
3131
},
3232
"require-dev": {
33-
"doctrine/annotations": "~1.7",
33+
"doctrine/annotations": "^1.10.4",
3434
"doctrine/cache": "~1.0",
3535
"paragonie/sodium_compat": "^1.8",
3636
"symfony/asset": "^3.4|^4.0|^5.0",
@@ -60,13 +60,13 @@
6060
"symfony/yaml": "^3.4|^4.0|^5.0",
6161
"symfony/property-info": "^3.4|^4.0|^5.0",
6262
"symfony/web-link": "^4.4|^5.0",
63-
"phpdocumentor/reflection-docblock": "^3.0|^4.0",
64-
"twig/twig": "^1.41|^2.10|^3.0"
63+
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
64+
"twig/twig": "^1.43|^2.13|^3.0.4"
6565
},
6666
"conflict": {
6767
"doctrine/persistence": "<1.3",
68-
"phpdocumentor/reflection-docblock": "<3.0",
69-
"phpdocumentor/type-resolver": "<0.2.1",
68+
"phpdocumentor/reflection-docblock": "<3.0|>=3.2.0,<3.2.2",
69+
"phpdocumentor/type-resolver": "<0.3.0|1.3.*",
7070
"phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0",
7171
"symfony/asset": "<3.4",
7272
"symfony/browser-kit": "<4.3",

src/Symfony/Bundle/SecurityBundle/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
"symfony/twig-bundle": "^4.4|^5.0",
4444
"symfony/validator": "^3.4|^4.0|^5.0",
4545
"symfony/yaml": "^3.4|^4.0|^5.0",
46-
"twig/twig": "^1.41|^2.10|^3.0"
46+
"twig/twig": "^1.43|^2.13|^3.0.4"
4747
},
4848
"conflict": {
4949
"symfony/browser-kit": "<4.2",

0 commit comments

Comments
 (0)