Projet

Général

Profil

Development #67724

Publik - Project management #64274: montée de version django (→ 3.2 LTS)

fonctionner avec django 3.2

Ajouté par A. Berriot il y a plus d'un an. Mis à jour il y a plus d'un an.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
26 juillet 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non
Tags:

Description

cf tache parente

Révisions associées

Révision b31f63bd (diff)
Ajouté par Frédéric Péters il y a plus d'un an

tox: use django 3.2 (#67724)

Révision 5243db93 (diff)
Ajouté par Frédéric Péters il y a plus d'un an

misc: allow django 3.2 (#67724)

Révision 0fa62c15 (diff)
Ajouté par Frédéric Péters il y a plus d'un an

tox: allow any django-webtest (#67724)

Révision f95a3974 (diff)
Ajouté par A. Berriot il y a plus d'un an

tests: fix broken tests after django-webtest upgrade (#67724)

Révision 47a1a131 (diff)
Ajouté par A. Berriot il y a plus d'un an

tests: fix misc test failures (#67724)

Révision 7915dd26 (diff)
Ajouté par A. Berriot il y a plus d'un an

tox: update targets to allow testing both under django 3.2 and 2.2 (#67724)

Révision 3f201282 (diff)
Ajouté par Frédéric Péters il y a plus d'un an

tox: run against 2.2 in main (#67724)

Historique

#1

Mis à jour par Frédéric Péters il y a plus d'un an

Pour info normalement le taf est déjà fait et il y avait juste #64298. (avec décision de ne pas charger tox en cibles 3.2 tant qu'on n'était pas proche de la bascule).

#2

Mis à jour par A. Berriot il y a plus d'un an

Frédéric Péters (absent jusqu’au 2/8) a écrit :

Pour info normalement le taf est déjà fait et il y avait juste #64298. (avec décision de ne pas charger tox en cibles 3.2 tant qu'on n'était pas proche de la bascule).

Ah, j'avais vu certaines choses qui me semblaient nécessiter une action notamment une dépendance à django-ckeditor (qui n'a pas l'air testé sur django 3.2)

#3

Mis à jour par Frédéric Péters il y a plus d'un an

En effet il y avait un truc django-ckeditor mais géré dans notre "fork" (#64291). (pour info en local je tourne chrono, combo, lingo et wcs avec django 3.2).

#4

Mis à jour par A. Berriot il y a plus d'un an

Frédéric Péters (absent jusqu’au 2/8) a écrit :

En effet il y avait un truc django-ckeditor mais géré dans notre "fork" (#64291). (pour info en local je tourne chrono, combo, lingo et wcs avec django 3.2).

D'accord, j'avais commencé à creuser django-ckeditor, mais pas moyen de faire tourner les tests en local (et ça n'a pas l'air testé sur Jenkins ?). Et tout le tox.ini est configuré pour du django <=1.8

#5

Mis à jour par Frédéric Péters il y a plus d'un an

Yep django-ckeditor c'est juste le code upstream + quelques commits, pas du tout intégré de notre côté jenkins.

#6

Mis à jour par Frédéric Péters il y a plus d'un an

J'ai poussé une branche wip/tox-django-32 pour tourner tox avec django 3.2, https://jenkins.entrouvert.org/job/combo-wip/job/wip%252Ftox-django-32/ , il y a visiblement encore des trucs à faire, mais d'un premier regard ça semble surtout des adaptations aux tests.

#7

Mis à jour par A. Berriot il y a plus d'un an

Frédéric Péters (absent jusqu’au 2/8) a écrit :

J'ai poussé une branche wip/tox-django-32 pour tourner tox avec django 3.2, https://jenkins.entrouvert.org/job/combo-wip/job/wip%252Ftox-django-32/ , il y a visiblement encore des trucs à faire, mais d'un premier regard ça semble surtout des adaptations aux tests.

okay, je regarde :)

#8

Mis à jour par A. Berriot il y a plus d'un an

Frédéric Péters (absent jusqu’au 2/8) a écrit :

J'ai poussé une branche wip/tox-django-32 pour tourner tox avec django 3.2, https://jenkins.entrouvert.org/job/combo-wip/job/wip%252Ftox-django-32/ , il y a visiblement encore des trucs à faire, mais d'un premier regard ça semble surtout des adaptations aux tests.

Je viens de pousser un certain nombre de fixes sur ta branche wip/tox-django-32, les tests cassés provenaient principalement d'un changement de comportement de django-webtest et de quelques légères différences de comportement entre django 3.2 et django 2.2.

J'ai mis à jour le tox.ini pour pouvoir facilement lancer les deux suites de tests, chez moi en local:

1. NUMPROCESSES=0 tox -e py3-django22 passe à l'exception de trois tests. Aucune régression fonctionnelle a priori, les deux premiers c'est juste des wordings ou des bouts de HTML générés par django qui ont changé d'une version à l'autre et donc les tests sautent. Le troisième test vérifie un nombre de requête SQL exécuté, et django 3.2 en fait moins, j'imagine qu'il y a du avoir un changement au niveau de l'ORM
2. NUMPROCESSES=0 tox -e py3-django32 passe sans erreur

Côté Jenkins, ça passe aussi en 3.2

#9

Mis à jour par Frédéric Péters il y a plus d'un an

  • Statut changé de Nouveau à Résolu (à déployer)

Top, merci; j'ai poussé une branche nommée correctement pour apparaitre ici (et ajuster les messages de commit pour notamment inclure le numéro de ticket).

Et je valide et j'envoie dans le dépôt dans le même élan.

commit 7915dd26de4bbdfe6a26ce114d54e4096dfe73b4
Author: Agate Berriot <aberriot@entrouvert.com>
Date:   Wed Jul 27 15:57:46 2022 +0200

    tox: update targets to allow testing both under django 3.2 and 2.2 (#67724)

commit 47a1a1314f5e99a0a2ff7029a05bd57a5b9c7b4d
Author: Agate Berriot <aberriot@entrouvert.com>
Date:   Wed Jul 27 16:10:38 2022 +0200

    tests: fix misc test failures (#67724)

commit f95a39744d2c31d9aab37072783d19a08c3a4d2e
Author: Agate Berriot <aberriot@entrouvert.com>
Date:   Wed Jul 27 15:44:42 2022 +0200

    tests: fix broken tests after django-webtest upgrade (#67724)

commit 0fa62c1598ad3efb01e12cdfad843f030dc62ee6
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Tue Jul 26 20:08:47 2022 +0200

    tox: allow any django-webtest (#67724)

commit 5243db93abe6a80a526c723189fbc9a6b573a4a9
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Tue Jul 26 20:06:01 2022 +0200

    misc: allow django 3.2 (#67724)

commit b31f63bdc0f61088cb74bdbd25227a2adc4a3958
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Tue Jul 26 19:24:47 2022 +0200

    tox: use django 3.2 (#67724)
#10

Mis à jour par Frédéric Péters il y a plus d'un an

+

commit 3f201282088902a799cdbeb61af96c0eb8076c91
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Tue Aug 2 16:34:23 2022 +0200

    tox: run against 2.2 in main (#67724)
#11

Mis à jour par Frédéric Péters il y a plus d'un an

  • Statut changé de Résolu (à déployer) à En cours
  • Assigné à changé de A. Berriot à Frédéric Péters

Ah mais c'est couillon je n'avais pas capté que les modifications aux tests cassaient la prise en charge en 2.2 :/

#12

Mis à jour par Frédéric Péters il y a plus d'un an

  • Statut changé de En cours à Solution déployée

Voilà, faut que je calme mon enthousiasme à pousser plein de trucs après mes congés :)

#13

Mis à jour par A. Berriot il y a plus d'un an

Frédéric Péters a écrit :

Voilà, faut que je calme mon enthousiasme à pousser plein de trucs après mes congés :)

Ah trop chouette, tu as pu réécrire les trois tests qui plantaient !

Bon retour ;)

#14

Mis à jour par Frédéric Péters il y a plus d'un an

Ah trop chouette, tu as pu réécrire les trois tests qui plantaient !

Les deux premiers (sur l'HTML) c'est juste en réduisant le message matché, c'est honnête; celui sur le nombre de requêtes zéro fierté j'ai juste comparé aux valeurs de 2.2 et 3.2 parce que flemme de chercher dans l'ORM ce qui amène les 50 requêtes en plus (ce qu'il faudra sans doute faire à un moment)

#15

Mis à jour par Lauréline Guérin il y a plus d'un an

flemme de chercher dans l'ORM ce qui amène les 50 requêtes en plus (ce qu'il faudra sans doute faire à un moment)

La gestion des M2M a changé:

2.2:

 {'sql': 'SELECT "search_indexedcell_restricted_groups"."group_id" FROM '
         '"search_indexedcell_restricted_groups" WHERE '
         '("search_indexedcell_restricted_groups"."group_id" IN (170) AND '
         '"search_indexedcell_restricted_groups"."indexedcell_id" = 806)',
  'time': '0.000'},
 {'sql': 'INSERT INTO "search_indexedcell_restricted_groups" '
         '("indexedcell_id", "group_id") VALUES (806, 170) RETURNING '
         '"search_indexedcell_restricted_groups"."id"',
  'time': '0.000'},

3.2:

 {'sql': 'INSERT INTO "search_indexedcell_restricted_groups" '
         '("indexedcell_id", "group_id") VALUES (1206, 176) ON CONFLICT DO '
         'NOTHING',
  'time': '0.000'},

#16

Mis à jour par Frédéric Péters il y a plus d'un an

Et j'ai regardé à l'envers je pensais que 3.2 augmentait le nombre de requêtes mais ça descend, c'est super.

#17

Mis à jour par Transition automatique il y a plus d'un an

Automatic expiration

Formats disponibles : Atom PDF