-
Notifications
You must be signed in to change notification settings - Fork 31
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
Mettre à jour les dépendances (langage + librairies) #1336
Comments
Un bon paquet de PR faites aujourd'hui là dessus, il reste quelques gros morceaux à traiter, et je vais créer des tickets séparés. |
@thbar Est-ce que tu connais Dependabot? Cela permet de gérer quasi-automatiquement la mise à jour des dépendances en fonction du fichier
C'est vraiment un gain de temps. En plus, on peut voir les changelogs des librairies directement via Dependabot. Voici un exemple d'une PR par ici. |
@ryanzidago oui je connais et je m'en sers sur d'autres projets. Pour l'instant j'ai préféré ne pas l'activer ici, car il y avait beaucoup de grosses mises à jour à faire, et des changements où des ajouts de tests sont nécessaires. On l'activera probablement dans le futur. Merci ! |
Voir #1720, à l'instant t il ne reste plus que 7 mises à jour un peu délicates à faire:
On a les tickets associés suivants (en plus de #1691):
|
Mise à jour de la situation actuelle :
|
je me frotte à la mise à jour de Ecto... |
maj :
|
On a un bon processus à présent ; pas complètement à jour mais je pense qu'on peut fermer ce ticket. |
En cherchant à faire tourner le projet
transport-site
en local, je me suis demandé quelles étaient les versions d'Elixir, Erlang et Node à utiliser pour être à l'identique du vrai site (production).Après vérification auprès de l'équipe et dans le code, ces dépendances sont a priori installées en production à l'aide de ce Dockerfile, qui s'appuie sur une image Docker construite à partir de
betagouv/transport:0.4.3
, elle-même générée par cet autre Dockerfile.On peut donc voir que les versions utilisées actuellement en production doivent être normalement les suivantes:
Soit:
De la même façon, les librairies Elixir utilisées sont plus ou moins anciennes selon les cas (voir capture de
mix hex.outdated
ci-dessous, qui montre le décalage des versions), il va également être souhaitable de mettre à jour progressivement et régulièrement.Légende: "A green version in latest means you have the latest version of a given package, a red version means there is a newer version available. Update possible indicates if your current requirement matches the latest version"
Être sur des versions trop anciennes finira par être pénalisant (ex: si nous avons l'obligation de mettre à jour soudainement une librairie, pour une raison ou une autre, comme le traitement d'une incompatibilité à un moment, la charge de travail pourrait s'avérer importante, et bloquer le travail).
C'est pour cela qu'il est important de graduellement mettre à jour les dépendances (initialement pour rattraper le retard, puis de façon régulière par la suite).
Pour être fait sereinement, ce travail devra s'appuyer sur un outil de couverture de tests, et potentiellement sur des ajouts de tests sur les parties trop fragiles s'il en existe.
Je crée ce ticket pour y faire référence par la suite, car il faudra plusieurs passes pour mettre à jour, on commencera petit !
The text was updated successfully, but these errors were encountered: