Improve the contributors/developers environment
This issue is not specifically targeted at a single item in our infra
but more general discussion thread to eventually evolve into sub tasks
to get a better environment.
Please add your issues and/or possible solutions and ill update this
item.
Current issues
Authentication
Currently Redmine does not support proper Oauth integration. It would be
nice if we could have that implemented.
We currently have an issue open #9081 to disable anon bug reporting.
Issues per branch
Would be nice if we could somehow track security issues per branch see: https://www.redmine.org/issues/1266\#change-56683
Multi Arch CI
Currently we use an external service (travis) to verify our
contributions. The limitations is that this is only available for
x86_84.
It would be nice if we could somehow have a CI which can push jobs to
different containers in our infra on different architectures.
Most of our developers do not have access to these Archs so It would be
nice for them to send jobs to verify their contributions.
Patch queue management
We currently have 2 queues, GitHub and Patchwork. This is by far optimal
and should be reduced to a single queue where people can contribute
to.
This will be much easier to maintain and less people will complain one
of the queues is better managed and remove questions as to which they
should contribute to.
To my knowledge the reason people use patchwork/ml is that they don’t
like to have an account on Github for privacy reasons. I think we should
support
this request and provided them with an alternative solution which means
we would have to replace both of them with a locally hosted solution.
Ideas regarding solutions
Unified solution
I’ve looked into the Open Source world to see if there is a holy grail
to work around the above mentioned issues.
After reviewing I ended up with only two solutions that seem to pack the
feature set we currently need is very active and had proper
documentation.
Both projects also have a side project which can migrate issues from
Redmine which is kind of nice to have.
GitLab
This currently seems to be a choice for many other open source projects,
but its very hard to maintain it locally.
I started packaging the individual parts (gitlab-ce, gitaly…) but it was
very messy and i ended up with huge packages. I’ve seen Jirutka has
tried to
package it up for Gentoo but in the end stopped working on it. So in the
end I gave up because it seems to be very messy and time consuming.
Phabricator
This application seems to be very easy to install, has only a few
dependencies so its a matter of an hour to get up and running.
Also the upgrade path is very simple and will be very easy to maintain
(if I read the documentation correctly).
The main issue we faced up till now is the workflow and the actual patch
integration in Phabricator. The only way to retrieve the patches
is to fetch the diff via the web interface or via the PHP cli. There is
no way to grab an mbox file or branch and locally apply and push it
(like we do with github).
This is one of the main issues ncopa faced when trying it out. I didn’t
look closer if this can be overcome somehow.
There is a test instance available at https://phabtest.alpinelinux.org
(the database isn’t running local so its maybe a bit slow at times).
Separate solutions
I didn’t have time yet to look into possible other solutions so any feedback is appreciated.
(from redmine: issue id 9134, created on 2018-07-25)