KDE migration to GitLab (#53206) · Issues · GitLab.org / GitLab Community Edition


KDE is considering a migration to GitLab: members from the KDE Board of Directors, the KDE Sysadmin team and the KDE Onboarding Initiative have been following the GNOME migration as a model and have been in touch with the GNOME Foundation and GitLab. GitLab will be initially assisting them with a Proof of Concept to facilitate making an assessment and a decision that will ultimately be consulted with the KDE community.

Goals

The main goals for a successful migration would be:

  • More accessible infrastructure for contributors
  • Code review integration with git
  • Streamlined infrastructure and tooling
  • Good relationship and open communication channel with upstream (GitLab in this case)

Discussion

We are at the initial stages of discussion, which can be followed on the notes from our regular calls.

KDE is currently looking at a self-hosted solution rather than hosting at gitlab.com. Due to their policy of only hosting Free Software on their servers the present consideration is to use gitlab-ce with the Core subscription

Current KDE tooling and infrastructure

  • Gitolite
    • Authentication and Authorization (some repositories are push restricted)
    • Repository management
    • Custom hooks providing notifications via email and IRC, as well as updating statuses of tasks and bugs on Phabricator and Bugzilla
  • Phabricator
    • Code and asset reviews
    • Task tracking
    • Kanban boards
    • Wikis
  • Bugzilla
    • Bug reports
    • Automated crash reports
  • LDAP-based SSI + management Web UI
  • Jenkins
    • CI: Linux, FreeBSD, Windows, Android
    • CD: Linux (Appimage & Flatpak), Windows, MacOS and Android

GitLab replacements

Tool Feature GitLab feature GitLab edition
Gitolite Authentication LDAP and Omniauth CE
Gitolite Repository management Gitaly CE
Gitolite Notification (E-Mail) E-mail notification CE
Gitolite Notification (IRC). Important. TBD TBC
Gitolite Set ticket status IssuesSee Closing issues and quick actions CE
Phabricator Code review Discussions CE
Phabricator Asset reviews (additional tool in Phabricator - Pholio) Image discussionsAlso see issue #53587 CE
Phabricator Task-tracking Time tracking CE
Phabricator Kanban boards Issue boards CE
Bugzilla Bug reports Issues CE
Bugzilla Automated crash reports (not trivial to move out of Bugzilla) Issues or an external tool CE
KDE identity LDAP-based SSI (SSH key management) SSH management on GitLab or syncing keys to GitLab CE
KDE identity Web UI (keep for more user-facing resources, e.g. Forum) N/A? N/A?
Jenkins CI: Linux, FreeBSD, Windows, Android GitLab CI or APIJenkins plugin is EE-only CE
Jenkins CD: Linux (Appimage & FlatPak), Windows, MacOS and Android GitLab CI or APIJenkins plugin is EE-only CE

Test instance

https://invent.kde.org/kde/

Collaborators

  • Eike Hein (@hein), Treasurer and Vice President, Board of Directors, KDE
  • Aleix Pol (@apol), Vice President, Board of Directors, KDE
  • Ben Cooksley (@bcooksley), Lead Sysadmin, KDE
  • Neofytos Kolokotronis (@tetris4), Onboarding Team Lead, KDE
  • David Planella (@dplanella), Director of Community Relations, GitLab
Edited by David Planella