The checklist I ran through is in my personal bug tracker [0]. Almost everything worked and almost everything went smoothly. Almost.
Here's some of the notes I made as things went along:
* Running make-wmf-branch on bast1001 needed a change to the build dir because reedy already owns the default dir there. ** Since the first thing it does is `rm -rf` the dir I think we could do something smarter in the script like prompt to delete after completion and/or add the script pid to the dir name.
* Cutting the branch should be automatic. Jenkins could do this easily and make the timing predictable for all parties.
* It seems like the php-1.XwmfY checkouts on tin could be either shallow or single branch checkouts. I think Chad started playing with having multiple working copies that share the same repository which might be even nicer.
* Speaking of Chad's prototype work, /a/common/php-git makes `updateWikiversions` throw a warning: "updateBitsBranchPointers: link target /usr/local/apache/common-local/php-git/skins does not exist."
* I tried to make a script to automate copying security patches from one branch checkout to the next. It worked sort of. `git apply` wasn't smart enough to figure out that the patches I pulled off of the wmf15 checkout were already applied in the wmf16 branch. It would be nice to figure this out and get it automated or find a better way in general to manage security patches.
* Creating the on-wiki deploy notes is a PITA. I read the script a couple of times and tried running on my own and with tips from Sam. I never did get it to work for me (kept getting empty output). Sam ran it and it worked fine but he said "I recall the script being temperamental". We should definitely make this an automated job in Jenkins or elsewhere. Nobody should have to babysit this kind of communications process. (The cobbler's children have no shoes.)
* My ssh-agent (OS X 10.8.5) croaked badly when trying to run sync-wikiversions. This seems to be triggered by the full fanout (not batched) dsh call. Aaron had to step in and run both sync-wikiversions for me.
* l10n sync went badly again. wmf16 got partial en l10n data and then my `scap --versions php-1.23wmf16` to fix it blew up badly in the scap-rebuild-cdbs step: ** Bug 62018 [1] - scap-rebuild-cdbs fails when scap called with `--versions` command line flag - is in the python scap code I'm pretty sure and I'll get on fixing that. ** Bug 51174 [2] - Scap broken for deploying new versions of MediaWiki due to ExtensionMessage file not being created - looks like the things I added in I5467ac8 [3] were necessary but not sufficient to fix this. I stupidly didn't save a copy of the first .json files, but wmf16 didn't get full english l10n cache in the cdb until a second scap was run. It seems likely to me that this is related to the "bootstrap" en l10n build that I put in there to get mergeMessageFileList.php to run.
Things actually went pretty smoothly though. Thanks a lot to Chad and Sam for helping me make a checklist and Aaron for being around to lend a hand when I fell and couldn't get up.
[0]: https://github.com/bd808/wmf-kanban/issues/57 [1]: https://bugzilla.wikimedia.org/show_bug.cgi?id=62018 [2]: https://bugzilla.wikimedia.org/show_bug.cgi?id=51174 [3]: https://gerrit.wikimedia.org/r/#/c/113260/
Bryan