Page MenuHomePhabricator

CentralNotice: make-wmf-branch doesn't work for named extension deployment branches
Closed, ResolvedPublic

Description

For example, mediawiki-tools-release/make-wmf-branch/config.json shows that CentralNotice is deployed from wmf_deploy rather than master. This is what we want. However, the script normally cuts wmf/* release branches from master each time a release is built, and none of these branches have been created for CentralNotice. This has bad effects, see:

16:53 < RoanKattouw> Quoting from my ops-l email from last week:
16:53 < RoanKattouw> "* CentralNotice doesn't have any origin/wmf/* branches. Instead, it appears to follow the wmf_deploy branch. Why does 
                     CentralNotice need a special snowflake deployment branch setup? There are now a bunch of patches in CentralNotice 
                     deployed in wmf22 that aren't recorded in any branch, they're just sitting there. However, it seems like wmf23 runs a 
                     newer version of the wmf_deploy branch that...
16:53 < RoanKattouw> ...does have these patches. IMO this is a bad strategy, because the actual deployed state of CentralNotice isn't 
                     recorded anywhere. If we had lost /srv/mediawiki-staging somehow, we would have been able to rebuild everything 
                     correctly from git (+any security patches), but not CentralNotice."

Event Timeline

awight raised the priority of this task from to Medium.
awight updated the task description. (Show Details)
awight added subscribers: awight, Catrope.

Release is for any projects releases, using Release-Engineering-Team instead as there is no project for the WM release tools.

Sounds like we should make CentralNotice use the ordinary setup instead of changing make-wmf-branch.

Also, note that we did recently lose /srv/mediawiki-staging. I wonder what happened to CentralNotice while it was being rebuilt.

Sounds like we should make CentralNotice use the ordinary setup instead of changing make-wmf-branch.

That would be preferable, if it doesn't work, at least changes should be submitted in gerrit to its special snow flake branch and then the core wmf branch submodule updated. However because of the deviation from the usual workflow these special branches have currently many problems we didn't yet solve.

I think the title of this task is misleading.

awight renamed this task from make-wmf-branch should cut wmf/* branches from named extension deployment branches to make-wmf-branch doesn't work for named extension deployment branches.Feb 3 2016, 9:26 PM

Thank you both for taking a look at this! It's very possible that I don't understand how release branching works at the WMF, and I'd be happy to make our workflow more regular if that would satisfy our requirements.

The reason we're using a named deployment branch in CentralNotice is so that we can continue using the master branch for development and code review, and our criteria to merge is simply "do we want to eventually deploy this code". However, very often we need to deploy in phases, or even postpone deployments during a high-volume fundraising campaign. For these reasons, we don't want to deploy whatever is on the master branch with the weekly train.

Is there an alternative we should be looking into?

Is there a requirement to always deploy on all wmf branches at the same time (or all wikis need to be the same CentralNotice version even when the core wmf deployment branch is different)?
Is there a requirement for the opposite, that you may need to have different CentralNotice version on different wmf deployment branches?

JanZerebecki renamed this task from make-wmf-branch doesn't work for named extension deployment branches to CentralNotice: make-wmf-branch doesn't work for named extension deployment branches.Feb 4 2016, 8:14 AM

This....should be working with branch.py as desired?

I don't know why it says I removed a subscriber @awight

mmodell claimed this task.

make-wmf-branch is no more. Marking resolved because I believe that the replacement for make-wmf-branch, branch.py, does create wmf/$version branches correctly for CentralNotice.