Utiliser renv pour tous les modules ? #51
Replies: 2 comments 3 replies
-
Quand j'ai poursuivi l'initiative lancée par Maël à savoir remplacer les CI travis en github action en utilisant renv, j'imaginai pas à quel point ca pourrait être lourd . C'est vrai que restaurer les environnements est un calvaire. Sur le fond, et même si je partage l'argument de Maël (MTES-MCT/parcours_r_socle_introduction#9 (comment)), je trouve que cette lourdeur ne favorise pas le travail des mainteneurs et même des contributeurs pour mettre à jour ces supports. En ce qui concerne les pistes :
Je pense que ca faciliterait la restauration. En revanche, le jour où il y a un breaking change, ca peut tout casser. Si on utilise plus renv, figer les environnements avec docker reste nécessaire pour faciliter l'intégration continue. Faut juste voir comment on fait mais il y a la piste avec le fichier DESCRIPTION
A la base, je l'ai pensé comme ça. J'imaginais qu'on passerait pas notre vie à modifier renv tous les 4 matins. Dans la pratique, je constate malgré tout que restaurer renv reste pénible. C'est d'ailleurs pour cela que je ne bosse plus du tout sur mon poste de travail mais que j'utilise automatiquement le sspcloud pour contribuer. J'ai développé un environnement de dev pour faciliter les contributions et j'imaginais mettre cela en place pour les futurs contributeurs. Pour résumer, je n'ai pas forcément de préférences, je m'adapterai à la solution qui sera retenue. |
Beta Was this translation helpful? Give feedback.
-
Bonjour à tous, Sur l'utilité d'utiliser Pour éviter ça vous pouvez commiter régulièrement un |
Beta Was this translation helpful? Give feedback.
-
Bonjour à tous,
Nous avons déployé renv pour éviter les problèmes de reproductibilité, mais cela savoir assez lourd à gérer en cas de mise à jour du support. Recréer l'environnement du projet avec renv::restore peut rapidement devenir un enfer et alourdit considérablement la charge de review ou de mise à jour.
Par ailleurs, si cela nous assure la création d'un environnement valide pour l'intégration continue, cela conduit à 'fossiliser' notre support par rapport à la version des packages en cours par ailleurs, que nos stagiaires vont installer.
Pour pallier à ce problème, je vois deux pistes :
Avez vous d'autres idées, ou une préférence ?
Beta Was this translation helpful? Give feedback.
All reactions