On Tue, May 5, 2015 at 1:05 AM, Amir Ladsgroup <ladsgroup(a)gmail.com> wrote:
Hey,
Github has a huge community of developers that collaborating with them can
be beneficial for us and them but Wikimedia codes are in gerrit (and in
future in phabricator) and our bug tracker is in phabrictor. sometimes It
feels we are in another planet.
Wikimedia has a mirror in github but we close pull requests immediately and
we barely check issues raised there. Also there is a big notice in
github[1], "if you want to help, do it our way". Suddenly I got an idea
that if we can synchronize github activities with gerrit and phabricator,
it would help us by letting others help in their own way. It made me so
excited that I wrote a bot yesterday to automatically duplicates patches of
pull requests in gerrit and makes a comment in the pull request stating we
made a patch in gerrit. I did a test in pywikibot and it worked well [2][3].
Note that the bot doesn't create a pull request for every gerrit patch but
it creates a gerrit patch for every (open) pull requests.
But before I go on we need to discuss on several important aspects of this
idea:
1- Is it really necessary to do this? Do you agree we need something like
that?
2-I think a bot to duplicate pull requests is not the best idea since it
creates them under the bot account and not under original user account. We
can create a plugin for phabrictor to do that but issues like privacy would
bother us. (using OAuth wouldn't be a bad idea) What do you think? What do
you suggest?
3- Even if we create a plugin, still a bot to synchronize comments and code
reviews is needed. I wrote my original code in a way that I can expand this
to do this job too, but do you agree we need to do this?
4- We can also expand this bot to create a phabricator task for each issue
that has been created (except pull requests). Is it okay?
I published my code in [4].
[1]:
https://github.com/wikimedia/pywikibot-core "Github mirror of
"pywikibot/core" - our actual code is hosted with Gerrit (please see
https://www.mediawiki.org/wiki/Developer_access for contributing"
[2]:
https://github.com/wikimedia/pywikibot-core/pull/5
[3]:
https://gerrit.wikimedia.org/r/208906
[4]:
https://github.com/Ladsgroup/sync_github_bot
I think this is a cool idea. What I like about this is the general
idea of trying to lower the barriers to contribution while still
preserving a single source of truth and reviewer workflow.
RobLa and I talked a couple of times in the past about the potential
usefulness of something similar. I'm actually more interested in
seeing tools built to bridge GitHub and Phabricator than GitHub and
Gerrit however. Gerrit's days as the Wikimedia code review system are
numbered and Phabricator will be the next system we use.
Facebook uses a bot to transfer pull requests from GitHub [5] to their
Phabricator instance [6] for HHVM. Having a system like this for the
Wikimedia projects would be nice. It would be interesting to see
something similar built to transfer GitHub issues to Phabricator as
well possibly with an additional status change on the GitHub side when
the associated Phabricator task was resolved.
[5]:
https://github.com/facebook/hhvm/pull/4924#issuecomment-76651483
[6]:
https://reviews.facebook.net/D34215
Bryan
--
Bryan Davis Wikimedia Foundation <bd808(a)wikimedia.org>
[[m:User:BDavis_(WMF)]] Sr Software Engineer Boise, ID USA
irc: bd808 v:415.839.6885 x6855