[en] The GitHub social coding platform introduced GitHub Actions as a way to automate different aspects of collaborative software development through the use of workflow files. It is the most popular CI/CD and workflow automation tool for GitHub. To maintain workflow code over time, it is useful to rely on differencing tools to identify the changes made during successive commits. Unfortunately, existing code differencing tools are not able to correctly identify changes made to workflow files. We therefore implemented gawd, a syntactic differencing tool for GitHub Actions workflows. The tool is capable of reporting the addition, deletion, modification and move of syntactic components in workflow files, taking into account the specific syntax of workflows. gawd has been evaluated on manually classified sets of workflow changes taken from existing commits in 40 different GitHub repositories, and was able to successfully identify these changes. gawd is publicly released as an open source Python tool distributed on PyPI.
Disciplines :
Computer science
DOI :
10.1145/3643991.3644873
Author, co-author :
Rostami mazrae, Pooya ; Université de Mons - UMONS > Faculté des Science > Service de Génie Logiciel
Decan, Alexandre ; Université de Mons - UMONS > Faculté des Sciences > Service de Génie Logiciel
Mens, Tom ; Université de Mons - UMONS > Faculté des Sciences > Service de Génie Logiciel
Language :
English
Title :
gawd: A Differencing Tool for GitHub Actions Workflows
Publication date :
15 April 2024
Event name :
21st International Conference on Mining Software Repositories
Event organizer :
ACM
Event place :
Lisbon, Portugal
Event date :
15-16 April 2024
Event number :
21
Audience :
International
Main work title :
21st International Conference on Mining Software Repositories (MSR '24)
R300 - Institut de Recherche en Technologies de l'Information et Sciences de l'Informatique
Funders :
F.R.S.-FNRS - Fonds de la Recherche Scientifique [BE] Direction générale de l’Enseignement non obligatoire et de la Recherche scientifique
Funding number :
J.0147.24; T.0149.22; F.4515.23; ARC-21/25 UMONS3 Action de Recherche Concertée financée par le Ministère de la Communauté française
Funding text :
This work is supported by research project ARC-21/25 UMONS3 Action de Recherche Concertée financée par le Ministère de la Communauté française - Direction générale de l’Enseignement non obligatoire et de la Recherche scientifique, and F.R.S.-FNRS under grant numbers J.0147.24, T.0149.22 and F.4515.23.