qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Migrating custom qemu.org infrastructure to GitLab


From: Stefan Hajnoczi
Subject: Migrating custom qemu.org infrastructure to GitLab
Date: Wed, 8 Jul 2020 10:52:38 +0100

Dear QEMU community,
QEMU currently has a static website, wiki, git repo hosting, and
special-purpose cronjobs/containers running in VMs. There is currently
no system administrator looking after our infrastructure so the most
urgent tasks fall onto me, the remainder are ignored/postponed. The
current situation exposes qemu.org to the risk of downtime and
security issues.

Another limitation is that each piece of infrastructure is managed
separately and one-time contributors cannot easily propose changes
because they do not have access. It would be much better to use our
existing code review process so that anyone can make changes to
infrastructure by sending a patch.

GitLab's Continuous Integration (CI) system provides a powerful way to
perform actions defined in yaml files in qemu.git. This includes
running scripts, builds, publishing build artifacts, etc. We have
already begun using it for automated builds and tests:
https://gitlab.com/qemu-project/qemu/-/blob/master/.gitlab-ci.yml

GitLab also offers git repo hosting, wikis, issue tracking, and other
features. It is possible to log in using GitHub, Google, or Twitter
single sign-on if you do not want to create another account. As more
open source projects use GitLab it becomes easier for one-time
contributors who will already be familiar with the tools from other
projects.

Here is a full list of GitLab's features:
https://about.gitlab.com/features/

GitLab offers the gold/ultimate tier for free to open source projects:
https://about.gitlab.com/solutions/open-source/

GitLab itself is open source and can be self-hosted if we decide to
leave in the future.

With this in mind I propose moving qemu.org infrastructure to GitLab
incrementally. This needs to be done carefully to avoid disruption and
only where GitLab meets the requirements. The QEMU project will
continue to have access to cloud hosting for running custom
infrastructure or adding runners to GitLab CI to improve CI
performance.

The following infrastructure components can be considered for GitLab migration:

1. qemu-web.git static site generation. GitLab CI/CD can build the
static website on each qemu-web.git commit and publish the HTML
artifacts.

2. wiki.qemu.org is a MediaWiki instance. Account creation is a hurdle
to one-time or new contributors. It is unclear whether GitLab's wiki
is expressive enough for a lossless conversion of the existing QEMU
wiki. Any volunteers interested in evaluating the wiki migration would
be appreciated.

3. Git repo hosting is a core feature of GitLab and we already have a
qemu.git mirror. Hosting the repos on GitLab reduces the need for
qemu.org ssh access.

4. The QEMU release process can be moved to CI/CD so that publishing
stable releases and release candidates is less dependent on one
committer's machine or scripts.

5. Issue tracking. Launchpad more or less works, but the login always
bothers me. If we move git repo hosting then it makes sense to do
issue tracking on GitLab too.

There is a snowball effect where the experience is improved the more
GitLab features we use, so I hope that most of these migrations will
be possible.

Next steps:
 * If you have an interest in one or more of these infrastructure
components, please join the discussion.
 * If there are no volunteers for an infrastructure component I'll
slowly work my way through evaluating GitLab and propose migrations

Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]