-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Problème à la création d'un environnement de test et développement #446
Comments
Bonjour @guillett et merci infiniment pour ce rapport clair et détaillé. Nous avons effectivement encore pas mal de travail à faire pour faciliter la contribution sur Mes Aides.
Que te donne
Quel sont les specs CPU et RAM de ta machine ? Il faut peut-être que nous augmentions le timeout pour certaines configurations.
As-tu bien exécuté
Non, les suites qui ne concernent pas les tests devraient pouvoir être joués en isolation. Pour autant, en raison de la complexité historique de l'installation d'Openfisca (les choses s'arrangent), nous n'exécutons pas les tests d'intégration en CI. Il est donc possible que certains soient réellement cassés car pas à jour. Dans tous les cas, tu devrais pouvoir avancer sans tests d'intégration dans un premier temps. |
@MattiSG Merci pour tes pistes et commentaires. En effet, je m'en suis sorti sans les tests d'intégration qui échouent. Je commence par une question et plus bas tu trouveras mes réponses/commentaires. Y-a-t-il un projet en cours qui a pour objectif d'avoir un setup automatisé pour travis par exemple ? (Première étape de que vous appelez un phœnix server j'ai l'impression).
J'ai installé nvm et fait
J'ai un MacBook Pro mi-2009 (2,53 GHz Intel Core 2 Duo) avec 8Go de RAM et seulement des disques SSD. Je ne pense pas que ces specs soit à l'origine du problème rencontré. Je vais peut-être regarder du côté de karma si des gens ont le même problème.
Il me semble que oui.
Les tests sont exécutés sur Chrome et je constate des animations lentes mais plutôt à l'étape 6 et non l'étape 8 de base-suite. Etant donné qu'il se peut que les tests soient cassés, je vais regarder ça un peu plus en détail. |
Je me suis perdu au cours de mes investigations (j'ai utilisé un openfisca-web-api sans réformes ce qui changeait les erreurs que je recevais). L'erreur que j'ai à l'étape 8 est la suivante :
|
Malheureusement, pas « en cours », pour des raisons de moyens disponibles. Il y en a très clairement l'intention, et c'est absolument l'un des objectifs du recrutement auquel j'ai l'impression que tu fais référence avec la mention du serveur phœnix : c'est très important, tant pour la CI que pour les contributeurs, car tu es une perle de patience, mais cette expérience n'est clairement pas celle que nous espérons donner sur la durée !
Effectivement, ça n'est pas le cas vu les specs. Ça m'était déjà arrivé sur d'autres projets, mais ça n'est pas le cas ici.
@fpagnoux est-ce le symptôme de openfisca/openfisca-core#437 ? |
Pour le CI, j'ai commencé à faire quelques tests sur travis (https://travis-ci.org/guillett/test-mes-aides) pour lancer les tests d'intégration de façon systématique. J'ai réussi lancer les différentes commandes et à tester sur Chrome via Selenium mais les tests échouent, il faut que je regarde un peu plus. J'ai pu constater que des warnings à l'installation Mon installation est très récente (mi-janvier). J'ai profité de ce problème pour regarder les sources de openfisca-web-api, openfisca-france et openfisca-core. Et au cours de mes découvertes/avancées j'ai réussi à contourner le problème (j'ai fait trop de modifications pour avoir les idées claires [changements dans /openfisca/requirements.txt 10.0.0b0 à sa valeur précédente 9.0.1 ; lancement de l'api à partir du HEAD dans github ; etc.]). Raison de plus d'avoir travis fonctionnel afin de mettre les choses au clair plus facilement. |
Bonjour @guillett, heureux de voir un nouveau contributeur arriver :)
Oui, c'est ça. Les instructions de @MattiSG devraient résoudre le problème. Normalement c'est un problème qui a été résolu à partir de la version |
J'ai récemment remarqué un bug quand on installe un package python avec C'est sans doute pour ça que tu ne trouve pas Solutions rapides pour te débloquer :
@MattiSG de notre côté, je pense que la seule solution raisonnable à long terme est de se baser sur des environnements virtuels, qui sont le standard en |
Mmh… ça augmente encore la stack Python nécessaire. Ça viendra donc probablement de pair avec la délégation de l'installation d'Openfisca à un système de gestion de configuration. Les commandes |
@fpagnoux, après mes tests et investigations des dépendances, je n'ai plus les problèmes décrits dans mes commentaires initiaux. Je vais essayer de me faire une configuration propre avec un environnement virtuel pour les modules python et peut-être reproduire les différents problèmes. Je suis d'accord avec toi, l'utilisation d'environnements virtuels serait bien car ça permettrait de faire des installations complètement autonomes par défaut. Pour le moment sur travis, j'ai réussi à faire passer base-suite avec seulement quelques petites modifications (https://travis-ci.org/guillett/test-mes-aides/builds/196306061#L2078) et j'ai l'impression que l'échec de family-suite (https://travis-ci.org/guillett/test-mes-aides/builds/196306061#L2188) provient d'un changement de l'interface (donc attendu d'une certaine façon). |
Certes, mais parole de pythonistes, faire du |
Je pensais qu'un résumé de la situation était intéressant pour clarifier les prochaines étapes. En ce qui concerne les tests d'intégration, j'ai l'impression que les transitions longues dans Chrome proviennent d'un bug dans le Chrome driver. Le fichier En ce qui concerne la simplification du setup : J'ai l'impression que les échanges clarifient les zones d'amélioration. Il faudrait :
[1] Proposition brute de décoffrage : Sur ma machine j'ai crée la hiérarchie de dossiers suivante :
Via les commandes suivantes #!/bin/bash
set -e
set -v
mkdir mes-aides
cd mes-aides
git clone https://github.com/sgmap/mes-aides-ui.git
virtualenv venv
source venv/bin/activate
cd mes-aides-ui
npm install # Correction nécessaire de la liste des devPackages
pip install --upgrade -r openfisca/requirements.txt # en substitut de npm install-openfisca
npm run db &
npm run openfisca &
npm test #
npm run dev En partant sur cette configuration (qui pourrait être conseillée dans le README) on pourrait remplacer le script #!/bin/bash
set -e
set -v
if [ -e ../venv/bin/activate ]
then
source ../venv/bin/activate
fi
pip install --upgrade -r openfisca/requirements.txt Et quelque chose de similaire pour #!/bin/bash
set -e
set -v
if [ -e ../venv/bin/activate ]
then
source ../venv/bin/activate
fi
paster serve openfisca/api_config.ini N'hésitez pas à commenter car il y a peut-être des choses m'échappent. |
😱 😍 😌
S'agit-il de
Ça, c'est très étrange… il doit y avoir une étape de build, ou un fichier qui est initialisé, et qui devrait l'être également lors de Pour ce qui est des |
@MattiSG Effectivement le problème vient du Etant donné que les tests d'intégrations passent sur travis, je me suis dit que mettre en place un environnement de test (from scratch) via Puppet était un objectif atteignable et une façon productive de se familiariser avec cet outil. J'ai donc créé un module Puppet (via puppet module generate) pour :
Tout est dans init.pp et les dépendances de modules Puppet sont dans le fichier metadata.json. Sur une nouvelle instance toute neuve, une fois la configuration Puppet en place, j'ai aussi :
Pour une mise en place systématisée de la production, j'ai aussi testé la mise en place d'un nginx via Puppet mais le module Puppet pour passer en SSL avec let's encrypt doit être légèrement modifié. |
Mainly mitigated by various PRs. Additional issues should be make explicit in another issue. |
Bonjour,
Je suis en train d'essayer de créer un environnement de test et développement. Je partage ici des remarques et difficultés pour réfléchir à de potentielles simplifications et pour faciliter la mise en place d'un système de CI.
DevDependencies dans package.json
npm test
échoue aprèsnpm install
et il fait référence à des paquets manquants.Le problème vient peut-être de dépendance de
mes-aides-ui
plutôt que demes-aides-ui
lui-même.L'équivalent du script suivant a échoué (j'ai du lancer les commandes en commentaire pour ne plus avoir d'erreurs 'statiques'). Une fois les paquets installés, je n'ai pas l'erreur même à partir d'un dossier vide.
PhantomJS ne se lance pas
En lançant
npm test
, il arrive que PhantomJS timeout cf. log ci-dessous.Note : En me connectant au serveur (http://localhost:8002/) à partir de Firefox j'arrive à débloquer PhantomJS.
C'est assez bizarre mais encore une fois, je partage mon expérience ici et des informations complémentaires pourraient être ajoutées au README pour les prochains contributeurs.
paster: command not found
npm run openfisca
échoue car paster n'existe pas.J'ai l'impression d'avoir résolu le problème sans être convaincu qu'il s'agit de la bonne approche.
Et là j'arrive à lancer
npm run dev
qui fonctionne.Tests d'intégration
Après quelques déboires avec l'installation de Selenium & co. et après résolution des problèmes ci-dessus j'arrive à lancer
npm run test-integration
.Cependant, certains tests échouent (cf. log ci-dessous) (je n'ai pas encore pris le temps d'investiguer). J'ai vu
npm run db-update
(qui échoue sur ma machine étant donné que je n'ai pas les droits d'accès) ; les tests qui échouent ont-ils besoin de certaines données de la base de données 'officielle' ?The text was updated successfully, but these errors were encountered: