Slack's CI has moved from Jenkins to GitHub Actions and an intern created a conversion tool that could automatically migrate Jenkins pipelines to GitHub Actions.
The tool is expected to cut migration time by half and to save over 1,300 hours.
The successful project is focused on the conversion tool and the 7 week journey to design, implement, and improve it.
A few useful tools were identified for the company to convert Jenkins to GHA including the GitHub Actions Importer.
Python scripting will be used and Large Language Models (LLMs) were used for any errors that could not be fixed with regular expressions.
The implementation of the corrections tool, to correct the Importer’s workflows, ends with the bird's eye view and the implementation architecture.
The impact of the tool is discussed with projected savings of over 1,300 hours and is projected to save 80% of the time to move every Jenkins pipeline to GHA.
End-user feedback on the tool has arrived and there are a few errors in the generated workflows. However, Slack's internal communication and collaboration have proven effective in updating solutions.
Slack is currently hiring GHA specialists.
The conversion from Jenkins to GHA has enabled Slack developers to have workflow files with few, if any, flaws.