Projet

Général

Profil

Development #72643

tox(?), améliorer la sortie visible dans jenkins

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

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
20 décembre 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Actuellement ça donne quelque chose comme

[...]
⠼ [3] py3-django22-drf39-authentic | py3-django22-drf312-coverage-multitenant | py3-django22-drf312-coverage-passerelle

⠴ [3] py3-django22-drf39-authentic | py3-django22-drf312-coverage-multitenant | py3-django22-drf312-coverage-passerelle

⠦ [3] py3-django22-drf39-authentic | py3-django22-drf312-coverage-multitenant | py3-django22-drf312-coverage-passerelle

⠧ [3] py3-django22-drf39-authentic | py3-django22-drf312-coverage-multitenant | py3-django22-drf312-coverage-passerelle

⠇ [3] py3-django22-drf39-authentic | py3-django22-drf312-coverage-multitenant | py3-django22-drf312-coverage-passerelle
✔ OK py3-django22-drf39-authentic in 3 minutes, 23.367 seconds


⠏ [2] py3-django22-drf312-coverage-multitenant | py3-django22-drf312-coverage-passerelle

⠋ [2] py3-django22-drf312-coverage-multitenant | py3-django22-drf312-coverage-passerelle

⠙ [2] py3-django22-drf312-coverage-multitenant | py3-django22-drf312-coverage-passerelle

⠹ [2] py3-django22-drf312-coverage-multitenant | py3-django22-drf312-coverage-passerelle

⠸ [2] py3-django22-drf312-coverage-multitenant | py3-django22-drf312-coverage-passerelle

⠼ [2] py3-django22-drf312-coverage-multitenant | py3-django22-drf312-coverage-passerelle

⠴ [2] py3-django22-drf312-coverage-multitenant | py3-django22-drf312-coverage-passerelle

⠦ [2] py3-django22-drf312-coverage-multitenant | py3-django22-drf312-coverage-passerelle
[...]

Fichiers

Révisions associées

Révision 1dc65bde (diff)
Ajouté par Benjamin Dauvergne il y a plus d'un an

misc: improve jenkins log with parallel tox (#72643)

Révision 56c611d7 (diff)
Ajouté par Benjamin Dauvergne il y a plus d'un an

misc: improve get_safe_db_name (#72643)

Révision be635f10 (diff)
Ajouté par Benjamin Dauvergne il y a plus d'un an

Revert "misc: improve jenkins log with parallel tox (#72643)"

This reverts commit 1dc65bde3e78f424a926085081b674213c8a6d9f.

Révision 760a8b1a (diff)
Ajouté par Benjamin Dauvergne il y a plus d'un an

Revert "misc: improve get_safe_db_name (#72643)"

This reverts commit 56c611d77b25505abd9fec7cd5f9dbb6969b1456.

Révision a652576b (diff)
Ajouté par Benjamin Dauvergne il y a plus d'un an

misc: improve jenkins log with parallel tox (#72643)

Révision ce88277e (diff)
Ajouté par Benjamin Dauvergne il y a plus d'un an

misc: improve get_safe_db_name (#72643)

Historique

#1

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

c'est lié à la parallélisation tox, pour ne pas mélanger les outputs (sinon on aurait des trucs de plusieurs process différents qui sortiraient en même temps). Je ne sais pas quelle marge de manoeuvre il y a pour ça.

#2

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

Mais les autres modules ne sont pas moches comme ça, par exemple wcs on a des lignes préfixées [gwX]

[gw1] [ 77%] PASSED tests/workflow/test_notification.py::test_notifications_target_url 
[gw3] [ 77%] PASSED tests/form_pages/test_block.py::test_block_repeated_files[sql] 

et ailleurs on a des lignes de points, propres,

gw0 I / gw1 I / gw2 I / gw3 I / gw4 I / gw5 I
gw0 [2193] / gw1 [2193] / gw2 [2193] / gw3 [2193] / gw4 [2193] / gw5 [2193]

........................................................................ [  3%]
........................................................................ [  6%]
#3

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

Ouais parce que dans ces cas là on utilise la paralellisation pytest-xdist, qui permet de faire un truc plus propre. Ça ne fonctionne pas avec Hobo car le setup est radicalement différent (à mon grand dam).

#4

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

Ok je vois ici ce sont les environnements qui sont lancés en parallèle.

Ça m'irait de faire pytest-xdist comme ailleurs ici, et les environnements en série, on perd sans doute un peu en vitesse mais pour moi le gain en lisibilité le vaudrait.

#5

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

Je préfèrerai aussi, et j'ai passé un certain nombre d'heures en juillet à essayer avec xdist avant de basculer sur tox. Je ne me souviens plus eexactement du noeud du problème, mais si quelqu'un s'y replonge ça émergera assez vite à mon avis. Ma mémoire me murmure des choses liées au provisionning des BDD et aux settings en général qui diffèrent radicalement d'une suite de test à l'autre.

#6

Mis à jour par Benjamin Dauvergne il y a plus d'un an

  • Assigné à mis à Benjamin Dauvergne
#7

Mis à jour par Benjamin Dauvergne il y a plus d'un an

Localement ça passe crème, je regarde le pourquoi sur jenkins.

PS: les noms de DB qui deviennent trop longs, encore.

PS2: par contre c'est devenu super lent même en --numprocesses 8, je ne sais trop pourquoi.

#8

Mis à jour par Benjamin Dauvergne il y a plus d'un an

Les tests normaux sans parallélisation prennent 15 minutes, et 40 minutes avec xdist, principalement à cause des tests avec coverage qui se mettent à prendre 10 minutes chacun ou presque.

#9

Mis à jour par Benjamin Dauvergne il y a plus d'un an

  • Assigné à Benjamin Dauvergne supprimé

Je sèche, si quelqu'un a une idée pour avoir du xdist rapide sur les tests hobo, qu'il s'exprime.

#10

Mis à jour par Benjamin Dauvergne il y a plus d'un an

  • Assigné à mis à Benjamin Dauvergne

Autre piste, voir si la parallélisation tox v4 marche mieux avec jenkins au niveau de la sortie.

#11

Mis à jour par Benjamin Dauvergne il y a plus d'un an

0001: utilisation de tox>4 via un venv local et via l'option --parallel-no-spinner on évite le problème visé par le ticket, au passage je factorise les commandes, je sépare la vérification du code-style dans un environnement à part et je réunis tous les fichiers de couverture en un seul pour que ce soit un peu plus semblable aux autres projets
0002: un reste de mes tentatives d'utiliser xdist, je l'ai laissé parce que la fonctione est plus stable que ce qui était là avant

#12

Mis à jour par Robot Gitea il y a plus d'un an

  • Statut changé de Solution proposée à En cours

Benjamin Dauvergne (bdauvergne) a lié une pull request sur Gitea concernant cette demande :

#13

Mis à jour par Robot Gitea il y a plus d'un an

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

Benjamin Dauvergne (bdauvergne) a mergé une pull request sur Gitea concernant cette demande :

#14

Mis à jour par Robot Gitea il y a plus d'un an

Benjamin Dauvergne (bdauvergne) a ouvert une pull request sur Gitea concernant cette demande :

#15

Mis à jour par Benjamin Dauvergne il y a plus d'un an

  • Statut changé de Résolu (à déployer) à Solution proposée
#16

Mis à jour par Robot Gitea il y a plus d'un an

  • Statut changé de Solution proposée à Solution validée

Emmanuel Cazenave (ecazenave) a approuvé une pull request sur Gitea concernant cette demande :

N/A

#17

Mis à jour par Robot Gitea il y a plus d'un an

  • Statut changé de Solution validée à Résolu (à déployer)

Benjamin Dauvergne (bdauvergne) a mergé une pull request sur Gitea concernant cette demande :

#18

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

  • Statut changé de Résolu (à déployer) à Solution déployée
#19

Mis à jour par Transition automatique il y a environ un an

Automatic expiration

Formats disponibles : Atom PDF