Une nouvelle étude académique, publiée sur le serveur de prépublication arXiv, se penche sur l'utilisation, l'évolution et la fiabilité des workflows dans GitHub Actions. Cette plateforme d'intégration et de déploiement continus (CI/CD), largement adoptée par les développeurs, repose sur un langage déclaratif spécifique pour définir des chaînes d'automatisation.
Analyse de l'usage et de l'évolution du langage
Les chercheurs ont analysé un vaste corpus de workflows GitHub Actions afin de comprendre comment le langage est utilisé en pratique et comment il a évolué. L'étude met en lumière une adoption croissante de cette technologie, avec une complexification progressive des fichiers de configuration. Les développeurs tendent à utiliser un nombre plus important d'étapes (steps) et à recourir à des actions tierces, ce qui reflète une maturité accrue de l'écosystème.
L'évolution du langage lui-même est également scrutée. Les auteurs notent l'apparition de nouvelles fonctionnalités et de syntaxes, visant à améliorer la flexibilité et la puissance des workflows. Par exemple, l'introduction de la matrice de stratégies (matrix strategy) permet d'exécuter des tests sur plusieurs configurations en parallèle, une pratique devenue courante.
Problématiques de fiabilité et de maintenance
Un des apports majeurs de l'étude concerne la fiabilité des workflows. Les chercheurs ont identifié que les workflows GitHub Actions sont sujets à des problèmes de « rot » logiciel (software rot), c'est-à-dire une dégradation progressive de leur bon fonctionnement. Cette dégradation est souvent due à la dépendance à des actions externes qui peuvent être mises à jour, dépréciées ou supprimées par leurs auteurs.
L'étude souligne que la liaison à des versions spécifiques d'actions (via des tags ou des commits) n'est pas toujours une pratique répandue, ce qui expose les workflows à des changements soudains et imprévus. Les chercheurs recommandent aux développeurs de verrouiller les versions de leurs dépendances et d'utiliser des mécanismes de mise à jour contrôlée pour maintenir la stabilité de leurs chaînes d'automatisation.
Implications pour la communauté des développeurs
Cette recherche a des implications directes pour la communauté open source et les entreprises qui s'appuient sur GitHub Actions. La fiabilité des pipelines CI/CD est cruciale pour la productivité des développeurs et la qualité du logiciel livré. En mettant en évidence les vulnérabilités et les bonnes pratiques, l'étude fournit des pistes concrètes pour améliorer la robustesse des workflows.
Les résultats suggèrent également que les mainteneurs de projets devraient régulièrement auditer et mettre à jour leurs configurations GitHub Actions pour éviter l'obsolescence et les défaillances. L'étude constitue une ressource précieuse pour quiconque cherche à optimiser l'utilisation de cette plateforme et à en garantir la fiabilité à long terme.