Page MenuHomePhabricator

Move Community Tech bot into Wikimedia source control
Closed, ResolvedPublic1 Estimated Story Points

Description

Currently, it's in various developers' personal GitHub accounts. To make the code clearly modifiable by others, as well as to reduce bus factor, it's proposed that we move it into the Wikimedia project on GitHub.

Tally

See https://help.github.com/articles/transferring-a-repository-owned-by-your-personal-account/ for instructions on how to do this correctly.

Be sure to add the Community Tech team as an admin on any new repos created.

Also, you'll need to update https://gerrit.wikimedia.org/r/#/c/translatewiki/+/450287/2/repoconfig.yaml.

Event Timeline

How do you propose to do move it all into one repo? They all have different setups.

Not into the same repo, into repos in the same location with standardized names.

Some of this is very subjective, like "user friendly". IMO any service that infringes upon my freedoms can't be user friendly.

Anyways,

Travis can do more than Wikimedia CI

Is definitely false. If there's something you need out of Wikimedia CI that you're unsure of how to do, please ask.

Yes AutopatrolledCandidates, TopArticleReviewers and WishlistSurvey are part of the MusikBot repo but run as Community Tech bot. I have my own micro-framework which is why it's in the same codebase. One day I might make it into a library or submodule and we could then move those two tasks to their own repo. There's also the pain of setting up the Ruby environment on the community-tech-bot Toolforge account :/

Cons of GitHub: No Phabricator integration

You can sort of do this if your repo is mirrored on Diffusion. If you put "Bug: [task]" in your commit description as you would on Gerrit, the commits will show up on the Phabricator task (e.g. T191942#4166306). No bot integration however, as far as I know.

Travis can do more than Wikimedia CI

If there's something you need out of Wikimedia CI that you're unsure of how to do, please ask.

I've ditched Travis for Scrutinizer in most of my projects. It can do the full CI build, and the automated code reviews are something I've come to rely on. Not open source, though :( Maybe phan can do all of the same things, not sure. I only found out about it a few days ago!

Welcome to our bikeshedding contest!

If there's something you need out of Wikimedia CI that you're unsure of how to do, please ask.

I'd like to configure tests without having to mess with a different repo that has all kinds of scary config and that I don't have +2 to ;)

If there's something you need out of Wikimedia CI that you're unsure of how to do, please ask.

I'd like to configure tests without having to mess with a different repo that has all kinds of scary config and that I don't have +2 to ;)

Do you have examples on what you are unsure of how to configure? In general CI is set up in such a way that new repositories should only need to be configured once, and then all control is in the local repository (via composer, tox, etc.). And if you want +2 rights, the CI team is always looking for more volunteers :-)

I'm in favour of Github (for the resaons Max listed above; mostly because it's easier for new people to interact with).

As for Wikimedia CI, one thing I've never been sure of is how to set up tests to run on multiple versions of PHP. Is that possible?

CommunityTechBot renamed this task from jzaaaaaaaa to Move Community Tech bot into Wikimedia source control.Jul 2 2018, 6:32 AM
CommunityTechBot raised the priority of this task from High to Needs Triage.
CommunityTechBot updated the task description. (Show Details)
CommunityTechBot added a subscriber: Aklapper.

Cons of GitHub: No Phabricator integration

You can sort of do this if your repo is mirrored on Diffusion. If you put "Bug: [task]" in your commit description as you would on Gerrit, the commits will show up on the Phabricator task (e.g. T191942#4166306). No bot integration however, as far as I know.

Β» T158739: Create a Github notification bot for phabricator

@Framawiki - As a volunteer developer who helps us with our bot code, do you have any preference over whether it lives in Github or Gerrit?

Considering that I've been locked out of Gerrit for over a month now (due to T197083), and the other reasons mentioned by Max, Sam, and MusikAnimal, I'm going to endorse the suggestion of keeping the bot code on GitHub (but moving it under the Wikimedia project). Note that this only applies to this specific bot code. In general, we should continue hosting our MediaWiki-related projects on Gerrit.

@Framawiki - As a volunteer developer who helps us with our bot code, do you have any preference over whether it lives in Github or Gerrit?

Hi, sorry for the delay.

In fact I never understood why you who work at the foundation write your code on a different platform than the one used by the other teams, under your personal usernames, without being listed somewhere for potential devs (to my knowledge, or not accessible at all).
Is there a reason not to do like the others? We are lucky to have our own server farm, fully customizable as you want. A hosting git server, a powerful notifications system on the bug tracker and irc, a continuous integration on which your colleagues work to modify it as you ask them. This independence is an opportunity.
If you officially use Github, I wouldn't understand why the rest of the foundation would stay on Gerrit. Just like I don't understand why you're not already on it. All the Gerrit issues you listed in the task description are the same as for the repositories that already use it. If you want to change, why not after all, but do this globally and take all the movement with you :)

That's my volunteer opinion.

kaldari triaged this task as High priority.Aug 6 2018, 10:37 PM

While I would be happy to have all of WMF development move off of Gerrit (due mainly to T197083), I don't think that's going to happen any time soon, and certainly not as part of this task. In the meantime, we need to at least get these tools out of people's personal GitHub accounts.

Marking high priority since this was somehow skipped at the last estimation meeting.

@kaldari I'm wondering if this ticket ought to be estimated at all as it doesn't involve much code-work. Plus it cannot be done by one person alone.

@Niharika: Hmm, I'm not sure, but somehow we have to get folks to actually do this. The longer we wait, the harder it is to change, e.g. [1], and the more we risk someone leaving the WMF and taking their code with them (as unlikely as that may be). FYI, I've made you an "owner" of the Wikimedia GitHub project, so you should be able to move your repo at least. See https://help.github.com/articles/transferring-a-repository-owned-by-your-personal-account/.

@kaldari We can make it happen. Though @MaxSem will be on vacation for the next three weeks so his is likely to not happen until he returns.

I don't have rights to create repositories within wikimedia, so I can't move SurveyCop :(

Thanks! SurveyCop has been moved over. The CommTech-related MusikBot tasks are stuck where they are until I refactor out the tiny framework I wrote. I will take care of this at some point.

Niharika set the point value for this task to 1.Aug 14 2018, 11:50 PM
Niharika updated the task description. (Show Details)
Niharika updated the task description. (Show Details)
Niharika moved this task from Needs Discussion to Up Next on the Community-Tech board.

Let's do it next Monday after another import from TWN, we'll have time until Thursday to address all the problems.

Change 471811 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[translatewiki@master] Update URL for CommonsNotifier, the repo has moved

https://gerrit.wikimedia.org/r/471811

With newly gained permissions, I've moved the repo. Now we're waiting on the above commit to call it done.

Change 471811 merged by jenkins-bot:
[translatewiki@master] Update URL for CommonsNotifier, the repo has moved

https://gerrit.wikimedia.org/r/471811