Connecting to github community

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Connecting to github community

Amir Sarabadani-2
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

Best
_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: [Pywikipedia-l] Connecting to github community

Amir Sarabadani-2
On Wed, May 6, 2015 at 12:13 AM Greg Grossmeier <[hidden email]> wrote:

> Quick general question: are you proposing this for pywikibot only? I
> think the answer is yes, just making sure.
>
> No, I'm proposing to do this in general. I never mentioned pywikibot as
the goal I just said I did a test in pywikibot and it worked well.


> <quote name="Amir Ladsgroup" date="2015-05-05" time="07:05:48 +0000">
> > 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
> >
> > Best
>
> > _______________________________________________
> > Pywikipedia-l mailing list
> > [hidden email]
> > https://lists.wikimedia.org/mailman/listinfo/pywikipedia-l
>
>
> --
> | Greg Grossmeier            GPG: B2FA 27B1 F7EB D327 6B8E |
> | identi.ca: @greg                A18D 1138 8E47 FAC8 1C7D |
>
> _______________________________________________
> Pywikipedia-l mailing list
> [hidden email]
> https://lists.wikimedia.org/mailman/listinfo/pywikipedia-l
>
_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: [Pywikipedia-l] Connecting to github community

Greg Grossmeier-2
<quote name="Amir Ladsgroup" date="2015-05-05" time="19:46:05 +0000">
> On Wed, May 6, 2015 at 12:13 AM Greg Grossmeier <[hidden email]> wrote:
>
> > Quick general question: are you proposing this for pywikibot only? I
> > think the answer is yes, just making sure.
> >
> No, I'm proposing to do this in general. I never mentioned pywikibot as
> the goal I just said I did a test in pywikibot and it worked well.

OK, wasn't sure. Thanks for clarifying.

A few comments:
1) Remember that the plan of record is for all repos to migrate away
from Gerrit (which we all hate) to Phab's Differential. The timing for
that is probably next quarter (ie: work starting July 1st).

2) We tried this once before, specifically Yuvi, with his SuchABot.
He'll probably reply here with his bot's code and examples from when it
was running.

2b) I'm not sure the work will be worth the pay-off. We've seen the
arguments before and when we did have SuchABot running there weren't,
from what I heard, a ton of success stories. I know it's tempting to say
"but Github is where all developers are" but that's not entirely true
for, especially, our community of developers who primarily come from the
Wikipedia/MediaWiki communities (generally defined). Now, I realize I'm
going off of anecdotal data here, but I haven't seen much other
anecdotal data that seems to suggest otherwise (other than gut
feelings).

3) The repository of record will continue to be Gerrit until we migrate
to Differential (in Phabricator).

Greg

--
| Greg Grossmeier            GPG: B2FA 27B1 F7EB D327 6B8E |
| identi.ca: @greg                A18D 1138 8E47 FAC8 1C7D |

_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: Connecting to github community

Bryan Davis
In reply to this post by Amir Sarabadani-2
On Tue, May 5, 2015 at 1:05 AM, Amir Ladsgroup <[hidden email]> 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    <[hidden email]>
[[m:User:BDavis_(WMF)]]  Sr Software Engineer            Boise, ID USA
irc: bd808                                        v:415.839.6885 x6855

_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: Connecting to github community

Brian Gerstle
I'd also like to mention some similar, third-party solutions that also
address this problem:

Github plugin for Gerrit <https://gerrit.googlesource.com/plugins/github/>:
seems to act as a "translator" between Gerrit/GH while maintaining sync
between the two. Last I checked, we won't use it because we'd have to
upgrade our Gerrit install, and as Greg mentioned, we're not willing to
upgrade Gerrit because we're trying to migrate to Differential.

Third-party site which does mirroring <http://gerrithub.io/>: this website
seems to allow you to have a "gerrit interface" to a GitHub repo (different
approach, AFAICT same end result that you can contribute & review via
gerrit or github). Probably less feasible for us because it's a third party
solution—though I'm not sure whether it's open source.

On Tue, May 5, 2015 at 4:28 PM, Bryan Davis <[hidden email]> wrote:

> On Tue, May 5, 2015 at 1:05 AM, Amir Ladsgroup <[hidden email]>
> 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    <[hidden email]>
> [[m:User:BDavis_(WMF)]]  Sr Software Engineer            Boise, ID USA
> irc: bd808                                        v:415.839.6885 x6855
>
> _______________________________________________
> Wikitech-l mailing list
> [hidden email]
> https://lists.wikimedia.org/mailman/listinfo/wikitech-l
>



--
EN Wikipedia user page: https://en.wikipedia.org/wiki/User:Brian.gerstle
IRC: bgerstle
_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: [Pywikipedia-l] Connecting to github community

Yuvi Panda
In reply to this post by Amir Sarabadani-2
Hello!

https://github.com/wikimedia/labs-tools-SuchABot did this and more -
it was a full fledged gerrit <-> github bridge, relaying commits from
github -> gerrit and comments from github to gerrit and vice versa. I
used it successfully for a while
(https://github.com/wikimedia/mediawiki-extensions-UploadWizard/pull/3#issuecomment-21207708
and https://github.com/wikimedia/mediawiki-extensions-UploadWizard/pulls?q=is%3Apr+is%3Aclosed
for list of pull requests merged via that) and works quite nicely.

I stopped working on it because I got a bit bored, and nobody except
me seemed to be using it :P Feel free to re-use / ressurect the code!

Thanks for building this :D

--
Yuvi Panda T
http://yuvi.in/blog

_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: [Pywikipedia-l] Connecting to github community

Amir Sarabadani-2
Based on talks in here I think it would be cool if we continue to work on
this but more in a phabricator way.

On Wed, May 6, 2015 at 1:38 AM Yuvi Panda <[hidden email]> wrote:

> Hello!
>
> https://github.com/wikimedia/labs-tools-SuchABot did this and more -
> it was a full fledged gerrit <-> github bridge, relaying commits from
> github -> gerrit and comments from github to gerrit and vice versa. I
> used it successfully for a while
> (
> https://github.com/wikimedia/mediawiki-extensions-UploadWizard/pull/3#issuecomment-21207708
> and
> https://github.com/wikimedia/mediawiki-extensions-UploadWizard/pulls?q=is%3Apr+is%3Aclosed
> for list of pull requests merged via that) and works quite nicely.
>
> I stopped working on it because I got a bit bored, and nobody except
> me seemed to be using it :P Feel free to re-use / ressurect the code!
>
> Thanks for building this :D
>
> --
> Yuvi Panda T
> http://yuvi.in/blog
>
> _______________________________________________
> Wikitech-l mailing list
> [hidden email]
> https://lists.wikimedia.org/mailman/listinfo/wikitech-l
_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: Connecting to github community

Nikolas Everett
In reply to this post by Bryan Davis
On Tue, May 5, 2015 at 4:28 PM, Bryan Davis <[hidden email]> wrote:

> Facebook uses a bot to transfer pull requests from GitHub [5] to their
> Phabricator instance [6] for HHVM.
>

I gotta say I wasn't thrilled with it. It just felt all disjointed a
broken. As much as I like the idea of lowering the barrier to entry it felt
like a bait and switch. I saw github issues and sent a pull request and was
bounced to some other system where I needed yet another account. At least
with our setup its clear up front what you are getting into.

A two way synch bot like that spoke as the proper user would be pretty
awesome.

Nik
_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: Connecting to github community

Koerner, Chris L
In reply to this post by Amir Sarabadani-2
Another open-source community<http://wordpress.org> is working on integrating their repository with Github<http://ma.tt/2014/10/sotw-2014/> for the very reasons you mentioned (Ctrl+F for the mention of github).

WordPress' tool, Trac, is SVN and therefore a bit of a bigger transition IMHO. The work is still ongoing.


There is a lively community that currently exists on Github. Encouraging folks to participate with tools that they are comfortable with is a win for wiki tech.

I would say that this is a smart move and agree with others that focusing on Phabricator as that’s the system with a longer life.

-Chris K.
This electronic mail and any attached documents are intended solely for the named addressee(s) and contain confidential information. If you are not an addressee, or responsible for delivering this email to an addressee, you have received this email in error and are notified that reading, copying, or disclosing this email is prohibited. If you received this email in error, immediately reply to the sender and delete the message completely from your computer system.
_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l