Project

General

Profile

Développement #67724

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

fonctionner avec django 3.2

Added by A. B. over 2 years ago. Updated over 2 years ago.

Status:
Fermé
Priority:
Normal
Target version:
-
Start date:
26 July 2022
Due date:
% Done:

0%

Estimated time:
Patch proposed:
No
Planning:
No
Tags:

Description

cf tache parente

Associated revisions

Revision b31f63bd (diff)
Added by Frédéric Péters over 2 years ago

tox: use django 3.2 (#67724)

Revision 5243db93 (diff)
Added by Frédéric Péters over 2 years ago

misc: allow django 3.2 (#67724)

Revision 0fa62c15 (diff)
Added by Frédéric Péters over 2 years ago

tox: allow any django-webtest (#67724)

Revision f95a3974 (diff)
Added by A. B. over 2 years ago

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

Revision 47a1a131 (diff)
Added by A. B. over 2 years ago

tests: fix misc test failures (#67724)

Revision 7915dd26 (diff)
Added by A. B. over 2 years ago

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

Revision 3f201282 (diff)
Added by Frédéric Péters over 2 years ago

tox: run against 2.2 in main (#67724)

History

#1

Updated by Frédéric Péters over 2 years ago

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

Updated by A. B. over 2 years ago

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

Updated by Frédéric Péters over 2 years ago

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

Updated by A. B. over 2 years ago

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

Updated by Frédéric Péters over 2 years ago

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

#6

Updated by Frédéric Péters over 2 years ago

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

Updated by A. B. over 2 years ago

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

Updated by A. B. over 2 years ago

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

Updated by Frédéric Péters over 2 years ago

  • Status changed from Nouveau to 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

Updated by Frédéric Péters over 2 years ago

+

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

Updated by Frédéric Péters over 2 years ago

  • Status changed from Résolu (à déployer) to En cours
  • Assignee changed from A. B. to 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

Updated by Frédéric Péters over 2 years ago

  • Status changed from En cours to Solution déployée

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

#13

Updated by A. B. over 2 years ago

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

Updated by Frédéric Péters over 2 years ago

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

Updated by Lauréline Guérin over 2 years ago

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

Updated by Frédéric Péters over 2 years ago

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

#17

Updated by Transition automatique about 2 years ago

Automatic expiration

Also available in: Atom PDF