RFC: rel-eng tooling development workflow

Tim Flink tflink at redhat.com
Thu Apr 30 19:11:09 UTC 2015


On Wed, 29 Apr 2015 10:44:42 -0400
Matthew Miller <mattdm at fedoraproject.org> wrote:

> On Fri, Apr 24, 2015 at 04:57:26PM -0500, Dennis Gilmore wrote:
> > Honestly I think we will move the git repos to pagure. but if we
> > find it does not work and it is too much work to make it suit then
> > we should be open to looking at something else.
> > 
> > > > - kallithea (https://kallithea-scm.org/)
> > > > 
> > > >     This project has been growing interest and to the best of my

Apologies for jumping in mid-thread here but I joined the rel-eng list
after this thread started.

QA hit a similar problem about 1.5 years ago - we had almost no formal
development processes and that was causing some inefficiencies, to say
the least.

We implemented changes to do the following:
 - start following most of the gitflow [1] branching model
   for our projects
 - use code reviews and require signoff by at least one other person
   for most changes (small things like specfile version bumping aren't
   generally reviewd)
 - set a code style standard and monitor changes (this is still in
   progress but we are linting every piece of code that comes in)

[1] http://nvie.com/posts/a-successful-git-branching-model/

For tickets and repos, we needed something that would support multiple
projects easily and wanted something that could do tickets and code
reviews in one system. We tried trac+ReviewBoard but the overhead of
closing stuff manually was enough of a pain that we chose not to go
that route.

We ended up settling on phabricator [2] for our tickets and code
reviews [3]. Using it to host our repos (a capability added after we
started using it) and migrating off of bitbucket.org has been on the
TODO list for a while but seems to keep getting superceded by other
work.

[2] https://phabricator.com
[3] https://phab.qadevel.cloud.fedoraproject.org/

Fedora QA has been using phabricator to support our development work for
about 1.5 years now and we've been really happy with it overall. It's
open source and I have it packaged (f20+ and epel) [4][5] but haven't
gotten around to de-bundling all the stuff that would need to be removed
before it could be included in the fedora repos.

[4] https://copr.fedoraproject.org/coprs/tflink/phabricator/
[5] https://bitbucket.org/tflink/phabricator-dist

I started getting playbooks written to deploy phabricator in infra but
as with de-bundling and migrating off of bitbucket.org, got sidetracked
since it hasn't been a huge priority.

If I'm reading the conversation correctly, phabricator would satisfy
all the requirements listed in the start of the thread and I'm game for
getting it packaged in Fedora/EPEL. It might even make sense for QA and
rel-eng to use the same phabricator instance instead of keeping them
separate but that would require more discussion and thought :)

In summary phabricator:
 - has FAS support for login via Persona
 - Can host git repositories
 - Handles code review and audits
 - Has some support for trello-like cards (the features there are still
   under development but they do work for some use cases)
 - Is capable of acting like a gatekeeper kind of like gerrit
 - Is open source
 - Is already used by other Fedora groups

Anyhow, just figured I would toss the idea out there and see what folks
think.

Tim
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.fedoraproject.org/pipermail/rel-eng/attachments/20150430/c26b1562/attachment.sig>


More information about the rel-eng mailing list