Page MenuHomePhabricator

Move XTools from Github to Gerrit
Open, Needs TriagePublic

Description

We are currently hosted at https://github.com/x-tools/xtools. There has been discussion of moving to gerrit.

Pros:

  • much better phabricator integration:
    • having gerritbot automatically link up patches when opened and merged; as opposed to currently our only getting a message when the PR is merged (which is when it stops being useful)
    • getting T1234 to make a link on its own (especially that in GH we can't even manually put a link in Bug: T1234, because it'd break it (I think?))
  • perhaps access to the replicas in CI
  • could possibly attract some contribution from technically-minded regulars, who tend to be more on gerrit than github
  • free software

Cons:

  • what do we do with the 25ish open PRs? (I suppose I could always just take the code for each PR and recreate a patch for each; 25 is not that many.)
  • file navigation on gerrit is clunky, though we would also get a GH mirror.
  • could raise the barrier of entry for newcomers, given gerrit tends to scare them away (though it's not like there have been many, lol)
  • moving is always a hassle
  • then there's also the question of the Great Gitlab Migration Apocalypse™. It's been officially stopped in June '24, but with a scary warning that that decision may be reversed in two yeas from there, i.e. a bit less than a year on from now. Also, it looks like it's still somewhat ongoing? Since the pause, have been moved to gitlab from gerrit: the misctools package (T398202), many WMF SRE repositories (T347623), quarry (T308978). WMF analytics is also planning to (T391404). It would be a shame to migrate to gerrit just to be forced to migrate to gitlab. Though I suspect there is going to be enough staunch opposition from MW developers to shield us from that.

The different review workflow can be a pro or a con depending on the person you are asking. I think it's a plus for the two active developers.

On gitlab: the only differences with GH I've noticed is that it's free software and that it's clunkier. If we're going to move somewhere, might as well make it worthwhile and move to gerrit.

(That's the current state of my knowledge, feel free to correct/add/edit.)

Event Timeline

would we lose commit history? (genuine question)

No? Gerrit supports importing history from GitHub, and QChris will be willing to do that for you if you ask when requesting the repo.

If we can manage to get CI to query the Toolforge replicas, then I insist on moving to Gerrit (or GitLab if there are strong feelings and it can let us query the replicas too).

No matter where we move, we won't lose the commit history. No worries there

Another pro for Gerrit is support for a relation chain (stacked commits). We can't get that on GitHub or GitLab

Since the pause, have been moved to gitlab from gerrit: […] quarry (T308978).

(Side-note: it looks like that task was originally for Quarry to migrate to GitLab, but ended up with Quarry moving to GitHub instead)

Mentioned in SAL (#wikimedia-releng) [2026-03-19T15:50:09Z] <Krinkle> Create labs/xtools repo (branch: main, parent: labs, owner: labs-xtools), ref T402086

Change #1255777 had a related patch set uploaded (by Krinkle; author: Krinkle):

[integration/config@master] zuul: Define Jenkins jobs for xtools repo

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

Change #1255780 had a related patch set uploaded (by Krinkle; author: Krinkle):

[translatewiki@master] repoconfig: xtools moved to Gerrit

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

Change #1255777 merged by jenkins-bot:

[integration/config@master] zuul: Define Jenkins jobs for xtools repo

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

Change #1255785 had a related patch set uploaded (by Krinkle; author: Krinkle):

[labs/xtools@main] build: Minor clean up after import to gerrit.wikimedia.org

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

Change #1255785 merged by jenkins-bot:

[labs/xtools@main] build: Minor clean up after import to gerrit.wikimedia.org

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

Change #1256043 had a related patch set uploaded (by MusikAnimal; author: MusikAnimal):

[labs/xtools@main] Update links to repo and remove GitHub Actions

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

Change #1256043 merged by jenkins-bot:

[labs/xtools@main] Update links to repo and remove GitHub Actions

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

Change #1256488 had a related patch set uploaded (by MusikAnimal; author: MusikAnimal):

[integration/config@master] Add Alien333 to CI allow list

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

Change #1256943 had a related patch set uploaded (by Krinkle; author: Krinkle):

[labs/xtools@main] build: Prep for PHP 8.5

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

Change #1256946 had a related patch set uploaded (by Krinkle; author: Krinkle):

[integration/config@master] zuul: Add composer-test-php85 and phpunit-coverage-php85-publish to xtools

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

Change #1256946 merged by jenkins-bot:

[integration/config@master] zuul: Add composer-test-php85 and phpunit-coverage-php85-publish to xtools

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

Change #1256962 had a related patch set uploaded (by Krinkle; author: Krinkle):

[integration/config@master] zuul: Enable mediawiki-i18n-check job for xtools

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

Change #1256962 merged by jenkins-bot:

[integration/config@master] zuul: Enable mediawiki-i18n-check job for xtools

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

Change #1256943 merged by jenkins-bot:

[labs/xtools@main] build: Prep for PHP 8.5

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

Change #1256488 merged by jenkins-bot:

[integration/config@master] Zuul: add Alien333 to CI allow list

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

Change #1257612 had a related patch set uploaded (by Krinkle; author: Krinkle):

[labs/xtools@main] README: Add link to code coverage report

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

Change #1257612 merged by jenkins-bot:

[labs/xtools@main] README: Add link to code coverage report

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

Change #1255780 merged by jenkins-bot:

[translatewiki@master] repoconfig: xtools moved to Gerrit

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