DrupalCon Prague: The GitLab Acceleration Initiative
We are halfway through DrupalCon Prague; time to evaluate the talks and sessions we have seen so far. Learn more about the upcoming Automatic Updates project, Project Browser, the integration of GitLab, and the update to CKEditor 5. In this article, I will focus on the Gitlab Acceleration initiative.
Drupal is getting easier to contribute to
As a new developer, figuring out how to contribute to Drupal.org can be frustrating. Further frustration lies ahead when you are faced with an extremely long waiting time before your code is reviewed, adjusted, reviewed again, and finally, after weeks, months, or even years committed. Drupal needed to find ways to simplify the process of contributing without lowering the bar for code standards and accessibility reviews. They found a way to do this by integrating GitLab with Drupal and applying Continuous Integration (CI). CI is the practice of automating the integration of code changes from multiple contributors into a single project.
Tim Lehnen, Chief Technology Officer of the Drupal Association, explained the expectations for integrating GitLab with Drupal: “The ultimate goal of the Gitlab Acceleration Initiative is to make contributing to Drupal easier and more rewarding. To do so, we are modernizing Drupal contribution by moving from our home-grown tools to GitLab.” He explains that this will significantly reduce the time between contribution and when it is committed and hopes this will motivate more people to start contributing.
The work on this project is well underway. Since 2020, contributors have been able to contribute using Merge Requests instead of patches. Lehnen also mentioned GitLab WebIDE, which can be used for contributions, and DrupalPod, a tool for remote dev.
The next step on the roadmap of the Gitlab Acceleration initiative is GitLabCI and Gitlab issues to replace the current DrupalCI. Drupal Association team member Fran Garcia-Linares explained it. The first thing we can notice from the upcoming step to GitLabCI is a more polished contributor experience. The issue queue on Drupal.org will be replaced with the familiar look of GitLab and GitHub. It will make it easier to share files for issues and make it possible to assign issues, use markup and insert task lists. GitLabCI will enable contributors to comment in threaded discussions and cross-link to related issues after an issue is created. When the issue is solved, merge requests can easily be created.
The current way the issue queue is organized can be pretty frustrating for module maintainers. There is little room for project management or prioritizing issues. To solve this, the community created ContribKanban. With GitLab, each project gets Kanban boards out of the box to help manage the issues.
Currently, patches are being reviewed manually multiple times before being committed. But for code standards, this can be done automatically. The automated checking of coding standards has already been integrated into DrupalCI and GitLabCI. Other tests that are worked on include tests for deprecated code and accessibility reviews.
This article is contributed by Esmeralda Tijhoff, a developer at DICTU where she contributes to Drupal websites for the Dutch government. She keeps a special eye out for accessibility issues and stresses the importance of inclusive designs and content to clients and colleagues.