GitHub : la mise à jour vers Ruby 2.7 corrige plus de 11 000 problèmes

GitHub : la mise à jour vers Ruby 2.7 corrige plus de 11 000 problèmes

Le service d’hébergement de code en ligne GitHub, propriété de Microsoft, a détaillé sa mise à niveau vers la version 2.7 du langage de programmation Ruby, qu’il a déployé en production en juillet. Le passage à Ruby 2.7 permet à GitHub de fonctionner « sans déprédation » et supprime les obstacles aux futures mises à jour dès qu’elles sont disponibles. Ruby 2.7 est sorti en décembre dernier et précède Ruby 3, la prochaine mise à jour majeure qui devrait sortir dans le courant de l’année.

GitHub est l’un des plus grands sites web construits sur Ruby et le service de contrôle de version en ligne de git recommande à d’autres de faire le saut vers Ruby 2.7 également, malgré les difficultés à préparer le terrain pour la mise à niveau. « Ruby 2.7 est une mise à jour unique car l’équipe de Ruby Core a déprécié le comportement des arguments des mots-clés », explique Eileen Uchitelle, de GitHub. « Avec cette version, les futures versions de Ruby n’accepteront plus de passer un hachage d’options lorsqu’une méthode attend des arguments de mots-clés. Chez GitHub, nous nous sommes engagés à fonctionner sans dépréciation à la fois sur Ruby et sur Rails pour éviter de prendre du retard sur les futures mises à jour. »

Mais pour atteindre le statut “Deprecation-free” dans Ruby 2.7, GitHub a dû corriger plus de 11 000 problèmes ou avertissements Ruby dans 40 équipes, y compris des avertissements causés par des bibliothèques logicielles externes, ce qui a nécessité des dizaines de mises à jour du gestionnaire de paquets Ruby Gems pour les ajouts dans Ruby.

publicité

La mise à jour vers Ruby 2.7 en vaut la peine

Uchitelle note que l’application Ruby de GitHub comprend plus de 400 000 lignes de code, ce qui nécessite plusieurs centaines de demandes de retrait par jour. Pour faciliter les mises à jour, les ingénieurs de GitHub ont configuré l’application pour qu’elle soit doublement amorçable en Ruby 2.6 et Ruby 2.7. « Cela nous a permis d’effectuer facilement des modifications rétrocompatibles, de fusionner ces dernières avec la branche principale et d’éviter de maintenir une branche de longue date pour notre mise à niveau », note-t-elle.

Uchitelle assure aux développeurs utilisant Ruby que la mise à jour vers Ruby 2.7 en vaut la peine, affirmant avoir constaté une amélioration « impressionnante » des performances alors que l’équipe Ruby Core semble prête à fournir des performances trois fois plus rapides dans Ruby 3. Il vaut donc la peine de faire la mise à jour juste pour éliminer les obstacles à cette version.

GitHub a vu le temps de démarrage de son application en mode production passer de 90 secondes à environ 70 secondes, ce qui améliore les temps de déploiement et donne également accès aux fonctionnalités et aux corrections de bugs. « En plus d’une amélioration du temps de démarrage, nous avons constaté une diminution des allocations d’objets qui sont passées de ~780k allocations à ~668k allocations », note-t-elle.

« Pour les entreprises qui se demandent si cette mise à niveau en vaut la peine, la réponse est : 100 %. Même sans l’amélioration des performances, prendre du retard sur les mises à jour de Ruby a des effets négatifs drastiques sur la stabilité de votre base de code. La mise à jour de Ruby permet de maintenir la santé de votre application, d’améliorer les performances, de corriger les bugs du langage et du framework, et de guider l’avenir du langage. »

Pour ceux qui souhaitent obtenir plus de détails sur la mise à niveau, Uchitelle a décrit quelques conseils clés pour ceux qui envisagent de mettre à niveau Ruby et de mettre à niveau le cadre d’application web Ruby on Rails.

Source : ZDNet.com

Leave a Reply

Your email address will not be published. Required fields are marked *