Page MenuHomePhabricator

Weekly "misc MediaWiki extensions" deployment window proposal
Closed, DeclinedPublic

Description

Root problem

Currently, CentralNotice isn't deployed by the MediaWiki train.

The CentralNotice maintainers aren't comfortable with a weekly cadence, they prefer a CentralNotice to be more stable and to babysit the deployment with a careful testing of the issues. See T136904 for mroe context. They like the SWAT format to focus on the test during the deployment.

On another hand, there is a clear willingness to only deploy two things during SWAT windows: configuration and hotfixes backported to already deployed code branch.

Proposal

I'm so offering to add to the deployments calendar a weekly "misc MediaWiki extensions" window each week, with the understanding it will be used when needed, one or two per month, and left unused another weeks.

The ideal moment could be:

  • Thursday before the evening SWAT, as this is the time @AndyRussG planned the last deployment ones as far as I remember
  • Thursday after the MediaWiki train, so there is still some hours if an hotfix is needed later

This window will be attended by a deployer, anyone from SWAT or MediaWiki train is a good candidate and operates like SWAT windows (push on mw1099, watch logs, sync everywhere or revert, watch logs). I'm happy to volunteer for these windows.

Advantages expected:

  • we address the expectations of CentralNotice maintainers to allow a separate rhythm temporarily while they continue they effort to allow the extension to join the MediaWiki train
  • we also address their expectation of how the code should be deployed, as they like a SWAT-like format
  • we allow to track and plan deployment for this extension in dedicated window

Event Timeline

Dereckson updated the task description. (Show Details)
Dereckson added subscribers: awight, greg, Catrope.

I haven't noticed this task up until now. That sounds to me like an excellent plan. Only potential concern is having a few deployers to always be around at that time slot. I guess after a few months the fundraising tech team will be able to handle the deployment all by themselves.

Thanks so much for making this proposal!!!!

Sounds great!! So, as far as I can tell, for deploys that are not within SWAT scope, we'd have three options: (1) the "misc MediaWiki extension" proposed here; (2) manually updating the CN deploy branch in time for MW branch cut, so changes go out on the train; and (3) deploying ourselves. We already have the last two, and I think with proposal will be a great complement to those. (In general, when possible, I prefer to defer deployment to people who deploy regularly and are up-to-date with the most recent ops policy and setups.)

Thanks again!!!

I'm not a fan of this idea, as I think it further enshrines one of the special snowflakes (CN isn't the only one, this rant is largely aimed at any extension that doesn't track master).

The CentralNotice maintainers aren't comfortable with a weekly cadence, they prefer a CentralNotice to be more stable and to babysit the deployment with a careful testing of the issues.

The problem is here. What is wrong with a weekly cadence of deployments? A weekly cadence does not imply instability, nor does it preclude testing things after they're deployed. If stability of CN is a problem, that means we're merging shit code into master--we shouldn't be doing that anyway. Perhaps that means we need to be more careful in how we merge to CN. But I find it hard to believe that it's actually a real problem, rather a fear of the unknown.

What is so special about CentralNotice that means it can't deploy weekly? Does the code move so quickly and in such a broken manner (the git log seems to indicate otherwise)? Why is weekly deployment of the underlying framework (MW itself) not scaring the CN maintainers? That is far more likely to break CN than CN itself.

I want to see the wmf_deployment branch go away and solve T136904 directly, not continue to work around it here.

A bit of history...

When I joined I (obviously) took ownership of the [[wikitech:Deployments]] calendar and scheduling/review/etc.

At that time we had a number of team (and thus extension) specific deployment windows. See eg: https://wikitech.wikimedia.org/wiki/Deployments/Archive/2013#June

I spent a TON of time and energy and institutional/personal capital to get us down to the situation we're in now: MW Train, SWATs, Services, Phabricator, Security

I DO NOT want to go back to having special one-off ("snowflake") windows for everyone who wants one. We're a "master-only" development shop. Please follow best practices for that paradigm.