Page MenuHomePhabricator

merge branch.py and make-wmf-branch
Open, MediumPublic

Description

In the tools/release repo we have two scripts that create branches: one for the tarball release (branch.py) and one for the train (make-wmf-branch).

The train branch script is fairly inefficient, and branch.py is fairly efficient.

We should merge these scripts, and favor the approach taken by branch.py.

  • Make branch.py push for both code review and directly to HEAD
  • CentralNotice branches from wmf-deploy rather than master -- will need to be accounted for somehow in branch.py
  • Modifiy docs for adding an extension
  • Wikitech-l email pointing to new docs

Details

Related Gerrit Patches:
mediawiki/tools/release : masterDrop make-wmf-branch entirely
mediawiki/tools/release : masterDeprecate make-wmf-branch
mediawiki/tools/release : masterFix up branch.py so that it's suitable for wmf/ production branches

Event Timeline

thcipriani assigned this task to mmodell.May 8 2019, 5:47 PM
thcipriani triaged this task as Medium priority.
thcipriani created this task.

@mmodell and I talked about this a bit during our pairing, assigning to him to work on.

Working on this here. See especially composer.json, make-branch as the cli and src/ for the code.

(Yes, I need to move this to wmf's gerrit.)

CCicalese_WMF added a subscriber: CCicalese_WMF.

I believe that @MarkAHershberger is doing this as part of the release automation project. Please change if I am incorrect.

I am in the process of testing the code found on github, however, I'd like to begin a formal review in gerrit. @MarkAHershberger, can we merge this into rMREL MediaWiki Release Tools somehow?

I'm still not sure that this is an overall improvement compared to branch.py, it seems like a lot more code and overall complexity when we were aiming for less.

I am in the process of testing the code found on github, however, I'd like to begin a formal review in gerrit. @MarkAHershberger, can we merge this into rMREL MediaWiki Release Tools somehow?

Yes, I'll move it there on Friday.

I'm still not sure that this is an overall improvement compared to branch.py, it seems like a lot more code and overall complexity when we were aiming for less.

I'll have to look more at branch.py.

I'm still not sure that this is an overall improvement compared to branch.py, it seems like a lot more code and overall complexity when we were aiming for less.

I'll have to look more at branch.py.

After examining the code this weekend, the big difference is how branching is done. branch.py uses Gerrit to do the branching server-side which means a lot of the code that I wrote above simply isn't necessary.

After examining the code this weekend, the big difference is how branching is done. branch.py uses Gerrit to do the branching server-side which means a lot of the code that I wrote above simply isn't necessary.

Precisely! That's the advantage of branch.py. I like that it eliminates a lot of local state and it should be quite a bit faster than repeating the clonebranchpush sequence once for each repository (especially when there are a lot of branches to make).

Change 543248 had a related patch set uploaded (by 20after4; owner: 20after4):
[mediawiki/tools/release@master] Fix up branch.py so that it's suitable for wmf/ production branches

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

mmodell claimed this task.Dec 3 2019, 10:26 PM

Change 543248 merged by jenkins-bot:
[mediawiki/tools/release@master] Fix up branch.py so that it's suitable for wmf/ production branches

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

Is this really "external"? It feels both internal and mostly-done?

mmodell updated the task description. (Show Details)Wed, Jan 8, 4:56 PM

Change 563492 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[mediawiki/tools/release@master] Drop make-wmf-branch entirely

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

Change 563505 had a related patch set uploaded (by 20after4; owner: 20after4):
[mediawiki/tools/release@master] Deprecate make-wmf-branch

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

Change 563505 merged by jenkins-bot:
[mediawiki/tools/release@master] Deprecate make-wmf-branch

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