For the past few yeas, the Asterisk team at Sangoma has been spending way too much time keeping aged Code Review, CI, Issue Tracking and Documentation platforms working, especially for a software development team. We knew we had to do something. So last year we conducted an evaluation of alternatives and chose GitHub as the best option for Asterisk’s future Code Review, CI and Issue Tracking functions. Thus, at the beginning of 2023, we kicked off The Great Asterisk Migration of 2023. It took a lot of work but we completed the migration of Code Review, Continuous Integration and Issue Tracking to GitHub on April 29, 2023.
Of course, this wasn’t just a platform migration. We also had to think about the code contribution and issue submission processes as well since they were heavily based on the old tools. In particular, the transition from Gerrit to GitHub for the code review process presented some challenges due to the way each handles commits. This was further complicated by the fact that the Asterisk project maintains multiple active release branches. Here’s an example: In this environment, most commits need to be cherry-picked to at least 2 other branches and while Gerrit has tools to easily accomplish this, GitHub does not. Every problem is an opportunity though so we created an automated cherry-pick process for GitHub that results in less work for the contributor than they had with Gerrit.
The final piece of the puzzle, Documentation, was started at the beginning of June and we chose a very lightweight solution using MkDocs, Material for MkDocs and GitHub Pages. The existing documentation hosted at https://wiki.asterisk.org was exported as HTML, converted to Markdown, then fed to MkDocs to generate a new Asterisk Documentation web site. It’s a work in progress though. We still need to add in the dynamic ARI, AMI, Dialplan App/Function and CLI documentation that’s generated from Asterisk but that should be available in the next few weeks.
Oh, if you’re wondering what happened to all the old issues from https://issues.asterisk.org, they could not be converted and are still there. We’re looking at ways to create a searchable archive of the issues for long term reference.