Page MenuHomePhabricator

mediawiki-vendor submodule doesn't get automatically bumped on release branches
Closed, ResolvedPublic

Description

Parsoid 0.13.0-a4 was tagged and merged into mediawiki-vendor on Monday night (late, since we were waiting for testing to complete). It appeared we'd missed the branch of mediawiki-vendor for 1.36.0-wmf.3 by a few hours, so we cherry-picked the parsoid bump onto the 1.36.0-wmf.3 branch of mediawiki-vendor, where it was merged and currently sits: https://gerrit.wikimedia.org/r/c/mediawiki/vendor/+/618038

But 1.36.0-wmf.3 as deployed on production servers does not have the latest mediawiki-vendor; in particular, it still have the 0.13.0-a3 version of Parsoid: https://gerrit.wikimedia.org/r/c/mediawiki/vendor/+/618038

How did this happen? Is this a bug with our understanding of the release process, or a bug in how the release was done?

Event Timeline

(I'm adding this to the blocker task for 1.36.0-wmf.3, but to be clear we don't actually consider this a blocker; there's no show-stopper bug fixed in parsoid 0.13.0-a4, we can wait to get our code deployed on the next train. But I wanted to make sure it was seen by the train-runners for wmf.3 so we can fix this issue for future releases.)

Change 618808 had a related patch set uploaded (by Legoktm; owner: Legoktm):
[mediawiki/core@refs/meta/config] Enable automatic submodule bumps for mediawiki/vendor

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

Mentioned in SAL (#wikimedia-operations) [2020-08-06T20:19:55Z] <brennen> manually updating the vendor submodule on 1.36.0 for T259832

Change 618852 had a related patch set uploaded (by C. Scott Ananian; owner: C. Scott Ananian):
[mediawiki/core@wmf/1.36.0-wmf.3] Update git submodules

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

Change 618852 abandoned by C. Scott Ananian:
[mediawiki/core@wmf/1.36.0-wmf.3] Update git submodules

Reason:
In favor of Ic2af8c89fc64feb6e2f931a47a9b625792d1b883

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

Mentioned in SAL (#wikimedia-operations) [2020-08-06T21:33:20Z] <brennen@deploy1001> Synchronized php-1.36.0-wmf.3/vendor: [[gerrit:618850|Update git submodules (vendor)]] (T259832) (duration: 01m 08s)

brennen added subscribers: thcipriani, brennen.

The correct commit should now be synced for wmf/1.36.0-wmf.3.

We should still address the underlying Gerrit config, since this is clunky to do by hand and it's sure to be needed again now that Parsoid is deployed this way. Discussed this with @thcipriani and it seems like this was set up a while ago for extensions/ and skins/ and probably just hasn't come up all that often for vendor/.

brennen renamed this task from Deployed 1.36.0-wmf.3 does not have the 1.36.0-wmf.3 branch of mediawiki-vendor to mediawiki-vendor submodule doesn't get automatically bumped on release branches.Aug 6 2020, 9:47 PM
brennen triaged this task as High priority.

This is going to be an issue again on Monday (2020-10-26) as we've got a Parsoid patch to swat via mediawiki/vendor.

It worked this time, the submodule update was created automatically without my intervention.

1.36.0-wmf.16 doesn't appear to have a .gitmodules at all right now?

EDIT: Turns out that due to the unusual timing of wmf.16, the branch was cut but the 'branch commit' Ib2ff0867cafe3e8e71de0d82ed308d68cfdb567c wasn't C+2'ed until Wednesday.

We cherry-picked mediawiki-vendor again later for 1.36.0-wmf.16 and it appears that the git submodules were again automatically updated as expected: rMW49bae56235aa

Not sure why this didn't work for wmf.4 -- maybe it was another case where our cherry-pick landed between the time the branch was cut and the branch commit merged, and so the automatic update didn't work properly.

cscott claimed this task.

Not sure why this didn't work for wmf.4 -- maybe it was another case where our cherry-pick landed between the time the branch was cut and the branch commit merged, and so the automatic update didn't work properly.

Ok, I think we understand why this sometimes happens. I updated https://wikitech.wikimedia.org/wiki/Parsoid#Deploying_a_cherry-picked_patch to reflect best practice. I'm going to close this bug as 'fixed'.

But it looks like this isn't necessary, it happens already (as long as you don't hit the window between branch cut and branch commit merge). I don't know why/how, but it doesn't look like 618808 is required.

Change 618808 merged by Hashar:
[mediawiki/core@refs/meta/config] Enable automatic submodule bumps for mediawiki/vendor

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