Infrastructure Upgrades/Changes: Git(ea)

Simon Steinbeiss simon at xfce.org
Sun Oct 8 00:21:49 CEST 2017


Hi everyone,

there have been discussions around our current infrastructure - be it
hardware or software - and following Gnome's discussions around moving from
cgit/gitolite+bugzilla to something that feels a little less dated and
provides more integrations (they are ogling at Gitlab) we have also had
several discussions of our own.

We have started writing up requirements for the new infrastructure (again,
both hardware and software) and have started looking into candidates more
concretely.
For the software one hard requirement is self-hosting, a few more are
features we would like to either get or not lose over the status quo. Of
the candidates we took into closer consideration (Gitlab and Gitea) we have
been leaning towards Gitea. In short, Gitea is a very Github-like (some say
it's a clone), lightweight piece of software that provides a Git server
(with collaboration features like pull-requests), a very simple issue
tracker (like the one of Github) and a very simple internal wiki. The
latter two components can either be disabled or redirected at external
services.

In order not to get stuck in endless discussions (which could be dragged
out by the fact that people have lives and can't always participate in the
discussions) I would like to propose that we try to move ahead with a
switch to Gitea.
I know that feels a little dramatic and I'm hoping to also spark some
discussion here, but it's not as brutal as it may sound.

The current proposal for phase 1 would be the following:
1) Replace cgit/gitolite with Gitea (for browsing and administering Git
repos)
2) Keep Bugzilla and Dokuwiki for their purposes (you can see the
integration in the instance Skunnyk set up)

The migration and setup of the Xfce repositories can be automated quite
nicely (Skunnyk has already done that) so that part is not a real blocker.
What we have to figure out to some extent is
 * how to manage permissions (there are organisations, teams and per
repository permissions as different layers for which we will need a concept)
 * how to best migrate/set up the hooks (both for the Github mirror and the
bugzilla comments)
 * to what extent to allow everyone to register and create forks (what
private repos are in cgit atm) in order to submit pull requests

For the future Gitea still provides the following points (imo):
 * issue tracking (migrating away from Bugzilla)
 * release management (potentially replacing archive.xfce.org by uploading
signed tarballs to Gitea)
 * continuous integration integration (yeah, double the integration!)
 * considering whether we ever want to use the internal wiki for anything

So far we haven't really found anything where Gitea lacks over
cgit/gitolite feature-wise. (Even the hyperlinks on Bugzilla issues work.)
However this does not mean that we will potentially find any drawbacks of
this situation. The good news is that switching back is not very painful,
as far as we can tell. As only Git management moves to Gitea that's the
only part that would have to be switched back.

Finally I would argue that it would be beneficial to try this out for real
(instead of toying with a staging instance over a longer period of time)
because we already have limited resources, so toying with stuff is usually
something people don't have too much time for anyhow. While I can easily
push to both cgit and Gitea, this doesn't mean I'll be familiar with the
features or way of working of either (as I'm in both cases only using the
Git command-line locally as my main interaction).

So anyway, that's the proposal in full. I know it was/is a lot, but thanks
for reading and even more so for commenting and a healthy discussion.

Cheers
Simon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.xfce.org/pipermail/xfce4-dev/attachments/20171007/75408ad4/attachment.html>


More information about the Xfce4-dev mailing list