Account created on 23 February 2007, over 18 years ago
#

Merge Requests

More

Recent comments

🇫🇷France andypost

will be fixed

       ┊ -'REPEATABLE-READ'
       ┊ +'READ-COMMITTED'
🇫🇷France andypost

With sed -i 's/attach/offsetSet/' vendor/phpspec/prophecy/src/Prophecy/Call/CallCenter.php # TODO: wait for release the test pass

🇫🇷France andypost

I think it's fine for me to RTBC !13038 as not an author

Moreover it needs backport to 10.x

🇫🇷France andypost

Replaced comparison with session vs global isolation level

🇫🇷France andypost

Yes it needs to fix

    Installer Isolation Level Existing Settings (Drupal\Tests\mysql\Functional\InstallerIsolationLevelExistingSettings)
     ✘ Installer
       ┐
       ├ Failed asserting that two strings are equal.
       ┊ ---·Expected
       ┊ +++·Actual
       ┊ @@ @@
       ┊ -'REPEATABLE-READ'
       ┊ +'READ-COMMITTED'
       │
       │ /builds/issue/drupal-3539366/core/modules/mysql/tests/src/Functional/InstallerIsolationLevelExistingSettingsTest.php:58
       ┴
🇫🇷France andypost

Default value is set, now only one broken test in core need to fix expectations

🇫🇷France andypost

the issue was in tx_isolation which should be the same as in Mysql transaction_isolation

Commited to production

🇫🇷France andypost

one more deprecation

    1) /builds/issue/drupal-3541427/vendor/phpspec/prophecy/src/Prophecy/Call/CallCenter.php:87
    Method SplObjectStorage::attach() is deprecated since 8.5, use method SplObjectStorage::offsetSet() instead
    
    Triggered by:
    
    * Drupal\Tests\Core\Entity\EntityUnitTest::testPostSave
      /builds/issue/drupal-3541427/core/tests/Drupal/Tests/Core/Entity/EntityUnitTest.php:411
    
    * Drupal\Tests\Core\Entity\EntityUnitTest::testPostSaveBundle
      /builds/issue/drupal-3541427/core/tests/Drupal/Tests/Core/Entity/EntityUnitTest.php:433
🇫🇷France andypost

PHP 8.5 changes are backported to 10.x so part of it should do too

🇫🇷France andypost

IIRC we fixed AVIF long time ago by using Ubuntu as a source for CI images

🇫🇷France andypost

Thank you, looks like good idea but I think the rotation got changes(

🇫🇷France andypost

Created testing branch with patches to run tests on 8.5 from 📌 Discus adoption of #NoDiscard and PHP 8.5 Active

🇫🇷France andypost

I think we need to wait a bit for core's dependencies to be fixed as guzzle/kink produce too many warnings and contrib can't actually use it without patching like 📌 Discus adoption of #NoDiscard and PHP 8.5 Active

🇫🇷France andypost

In 2 weeks next beta will arrive and probably core will have less issues (a lot of compatibility issues been fixed today)

🇫🇷France andypost

looks like all php-files are inserting it before namespace but a lot of others doing it after `use` so probably makes sense to formalize it)

🇫🇷France andypost

Thank you @jacktonkin it can catch!

🇫🇷France andypost

moved after meaningful descrtiption

🇫🇷France andypost

I think it's a good time to allow start testing as all deprecations already commited and beta 1 is out

🇫🇷France andypost

Thank you, never know it could work like that)

this approach much cleaner!

🇫🇷France andypost

in core/modules/page_cache/tests/src/Functional/PageCacheTest.php object is destroyed when leaving method
in core/tests/Drupal/FunctionalJavascriptTests/WebDriverCurlService.php setting to null

🇫🇷France andypost

https://github.com/nikic/PHP-Parser/commit/02dcdd74bb328ca0bd9b9e459ca25...

and one more

vendor/sebastian/recursion-context/src/Context.php:148
    Method SplObjectStorage::contains() is deprecated since 8.5, use method SplObjectStorage::offsetExists() instead
🇫🇷France andypost

A bit more deprecations

php message: PHP Deprecated: Case statements followed by a semicolon (;) are deprecated, use a colon (:) instead in /var/www/html/web/vendor/react/promise/src/functions.php on line 300

https://github.com/reactphp/promise/commit/d3998c8a5d3cff0b39b2f332da550...

php message: Failed to log error: Deprecated function: Function curl_close() is deprecated since 8.5, as it has no effect since PHP 8.0 in GuzzleHttp\Handler\CurlFactory->__destruct() (line 732 of /var/www/html/web/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php). #0 /var/www/html/web/core/includes/bootstrap.inc(104): _drupal_error_handler_real()
#1 /var/www/html/web/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(732): _drupal_error_handler()
#2 [internal function]: GuzzleHttp\Handler\CurlFactory->__destruct()
#3 {main}

need new issue for guzzle

🇫🇷France andypost

cspell fix is required, see the job

Moreover PHP 8,5 beta1 CI image created and test run showing serious log pollution https://git.drupalcode.org/issue/drupal-3523596/-/jobs/6189639

🇫🇷France andypost

Looks like the failed test is valid

    Entity Query (Drupal\KernelTests\Core\Entity\EntityQuery)
     ✘ Entity query
       ┐
       ├ Failed asserting that two arrays are identical.
       ┊ ---·Expected
       ┊ +++·Actual
       ┊ @@ @@
       ┊  Array &0 [
       ┊      16 => '4',
       ┊ +····20·=>·'12',
       ┊      8 => '8',
       ┊ -····20·=>·'12',
       ┊  ]
       │
       │ /builds/issue/drupal-3540788/core/tests/Drupal/KernelTests/Core/Entity/EntityQueryTest.php:393
       ┴
🇫🇷France andypost

I think transition to new hash should be done in follow-up, moreover old passwords makes no sense when Argon2 available

🇫🇷France andypost

PHP 8.4 image is cached so pipeline needs to be re-queued later

🇫🇷France andypost

Somehow PHP 8.4 image is used from cache so tested locally

🇫🇷France andypost

8.4 done and now pushing to production

$ docker run --rm drupalci/php-8.4-ubuntu-apache:dev php -d extension=ffi --ri ffi

FFI

FFI support => enabled

Directive => Local Value => Master Value
ffi.enable => preload => preload
ffi.preload => no value => no value
🇫🇷France andypost

Added to 8.3 image

$ docker run --rm drupalci/php-8.3-ubuntu-apache:dev php --ri ffi
Extension 'ffi' not present.

$ docker run --rm drupalci/php-8.3-ubuntu-apache:dev php -d extension=ffi --ri ffi

FFI

FFI support => enabled

Directive => Local Value => Master Value
ffi.enable => preload => preload
ffi.preload => no value => no value
🇫🇷France andypost

Also created 2 fixes for commited deprecations (will be released on August 13)

📌 Remove remaining usage of setAccessible() Active
📌 Clean-up deprecated non-standard cast names Active

🇫🇷France andypost

Filed follow-up to remove remaining usage as it was deprecated in PHP 8.5 📌 Remove remaining usage of setAccessible() Active

🇫🇷France andypost

Usage is

core$ git grep setAccessible
core/tests/Drupal/Tests/Component/Plugin/Attribute/AttributeClassDiscoveryCachedTest.php:70:    $ref_file_cache->setAccessible(TRUE);
core/tests/Drupal/Tests/Component/Plugin/Attribute/AttributeClassDiscoveryCachedTest.php:128:    $ref_file_cache->setAccessible(TRUE);
core/tests/Drupal/Tests/Component/Plugin/Attribute/AttributeClassDiscoveryTest.php:51:    $reflection->setAccessible(TRUE);
core/tests/Drupal/Tests/Core/Entity/Access/EntityCreateAccessCustomCidTest.php:100:    $access_cache->setAccessible(TRUE);
core/tests/Drupal/Tests/Core/Field/FieldTypePluginManagerTest.php:75:    $property->setAccessible(TRUE);
core/tests/Drupal/Tests/Core/Theme/Icon/IconFinderTest.php:647:    $method->setAccessible(TRUE);
core/tests/Drupal/Tests/Core/Theme/Icon/IconFinderTest.php:661:    $method->setAccessible(TRUE);
core/tests/Drupal/Tests/Core/Theme/Icon/IconFinderTest.php:674:    $method->setAccessible(TRUE);
core/tests/Drupal/Tests/Core/Theme/Icon/IconFinderTest.php:688:    $method->setAccessible(TRUE);
core/tests/Drupal/Tests/Core/Theme/Icon/IconFinderTest.php:702:    $method->setAccessible(TRUE);
core/tests/Drupal/Tests/Core/Theme/Icon/IconFinderTest.php:768:    $method->setAccessible(TRUE);
core/tests/Drupal/Tests/Core/Theme/Icon/IconFinderTest.php:778:    $method->setAccessible(TRUE);
🇫🇷France andypost

I think it's ok to add the extension but it needs to define which image to start with (probably PHP 8.3)

🇫🇷France andypost

Beta 2 image is pushed to dev

Production build 0.71.5 2024