Skip to content

Symfony 8 : monte tiime/newrelic-bundle en v2 - #2452

Open
BySplashGm wants to merge 1 commit into
afup:masterfrom
BySplashGm:symfony8/newrelic-bundle-v2
Open

BySplashGm wants to merge 1 commit into
afup:masterfrom
BySplashGm:symfony8/newrelic-bundle-v2

Conversation

@BySplashGm

Copy link
Copy Markdown
Contributor

Étape 2 de #2441.

Contexte

tiime/newrelic-bundle 1.0.x bloque la montée en Symfony 8 : il exige symfony/http-kernel (et config, console, dependency-injection, event-dispatcher) en ^5.4|^6.4|^7.0. La v2.0.0 ajoute le support de Symfony 8 tout en gardant la 7.4, on peut donc la monter dès maintenant.

Modifications

  • composer.json : tiime/newrelic-bundle ^1.0 → ^2.0.
  • composer.lock : seul le bundle change (v1.0.3 → v2.0.0), aucune autre dépendance n'est mise à jour.

Ce que contient la v2 (diff v1.0.3...v2.0.0) :

  • les contraintes passent à php: ^8.4 et symfony/*: ^7.4|^8.0. Le projet est en PHP >=8.5 et Symfony 7.4, donc compatible ;
  • côté src/, seulement du nettoyage : closures static dans Configuration, readonly et constantes typées dans NotifyDeploymentCommand. Les clés de config ne changent pas.

Rien à modifier dans config/packages/tiime_new_relic.yaml ni dans config/bundles.php.

Tests

make phpstan
make test
make test-integration
make test-functional
  • phpstan : OK.
  • php-cs-fixer : OK.
  • PHPUnit unit : OK (129 tests).
  • PHPUnit intégration : OK (78 tests).
  • Behat : 247 scénarios sur 249 passent. Les 2 échecs sont les scénarios JS de Admin/Tresorerie/DevisFactures.feature, qui échouent déjà sur master.

DevisFactures instable en local, aussi sur master

Sur Mac ARM, bin/bdi detect drivers ne sait pas télécharger chromedriver (Downloader for chromedriver arm64 is not implemented), donc tous les scénarios @javascript échouent dès le login. Une fois chromium-driver installé dans le conteneur apachephptest, le scénario reste instable. J'ai lancé DevisFactures.feature 8 fois de chaque côté :

Échecs
master (v1.0.3) 4/8
cette branche (v2.0.0) 6/8

Les erreurs sont les mêmes des deux côtés, sur la même étape I am logged in as admin and on the Administration : StaleElementReferenceException, There is no element matching XPath "//html" et ResponseTextException. L'écart entre 6 et 4 sur 8 runs relève du bruit, et le code du bundle ne change pas de comportement entre les deux versions.

Hors périmètre

  • Login Behat instable en JS : AuthContext::iAmLoggedInWithTheUserAndThePassword() vérifie la page juste après pressButton('Se connecter'), sans attendre la fin de la redirection. Le retry ajouté dans Migre l'entité Ting TicketType vers Doctrine #2411 ne protège que clickLink('Administration') contre StaleElementReferenceException. Correctif possible : retenter aussi assertPageContainsText('Espace membre') sur les trois exceptions ci-dessus. Je peux le faire dans une PR séparée.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants