Page MenuHomePhabricator

Deploy CommunityRequests to Meta
Closed, ResolvedPublic

Description

Deploy the CommunityRequests extension to Meta, in it's current state of *only* including i18n messages and nothing else.

Background: T366194: Migrate Community Wishlist to CommunityRequests extension

Details t.b.a.

1. Beta cluster deployment

Guide

  • Add the new extension submodule to the git mediawiki/extensions repo if it's not already in it. See example. This will result in the code being deployed (unused) to the Beta Cluster.
  • Move your extension's CI config to the "Wikimedia production" section, add the "in-wikimedia-production" job template, and make sure it has and passes all the expected jobs for production code. See example.
  • Add your extension to the json make-wmf-branch release tool at least two weeks prior to your target date for enabling on the Beta Cluster. It will add the extension as a submodule of mediawiki/core when the weekly deploy branch is cut, and the code will be deployed (unused) to production (see explanation in the next step).
  • Add your extension to extension-list. See example. This requires that the code be present on every branch running in production, since extension-list is used to build the CDB database for i18n files in both Beta and production.
  • Add your extension config variable to InitialiseSettings.php and set it to be default false. See example.
  • Add your extension config variable (same as in previous step) to InitialiseSettings-labs.php and set it to be true on Beta Cluster wikis you want it to be on. You may want to turn it off for loginwiki (which doesn't have most extensions). See example.
  • Load your extension in CommonSettings-labs.php. See https://gerrit.wikimedia.org/r/c/operations/mediawiki-config/+/455601/.

  • Enable extension on metawiki (prod)

Event Timeline

My question for you: If we (i.e. my manager) agree to accept all security risks, how likely if at all would it be to ship the extension with just translations, then we slowly add code to it over time? This would make the transition considerably easier, and allow us to address some issues we have now such as T370230: Migrate translations to Community Requests. When we have enough code moved over for the extension to run standalone, we can ask for a proper security review. Until then, we could have all code (other than the translations) behind a feature flag, which we will not enable until the security review is complete. How does that sound? I know this is highly unusual but I thought it was at least worth inquiring :)

So the extension would be deployed to wikimedia production, but only translations would be made available for it? e.g. anything in its i18n directory? If I'm understanding this correctly, that sounds fine. Keeping feature development on a separate, undeployed branch would probably be preferred to a wikimedia production feature flag, but I'm not sure if that would suit your development needs. Regardless, it sounds like we should place this review request into our backlog again, for now? Until we have a better sense of when most of the code will be ready for the extension?

Hi @sbassett — we're looking to start the process of deploying this to the beta cluster in preparation for the goal of this task (production deployment), and just wanted to check that we're okay to do so per your above message in T365525: Application Security Review Request : CommunityRequests Extension

TheresNoTime updated the task description. (Show Details)

Grabbing task to begin process of creating patches for the beta cluster deployment, pending my above comment

Change #1062977 had a related patch set uploaded (by Samtar; author: Samtar):

[operations/mediawiki-config@master] Add CommunityRequests

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

Hi @sbassett — we're looking to start the process of deploying this to the beta cluster in preparation for the goal of this task (production deployment), and just wanted to check that we're okay to do so per your above message in T365525: Application Security Review Request : CommunityRequests Extension

I'm still fine assigning a beta deployment of this code as low risk, for now. Tagging @acooper for additional visibility. Any update on when a more complete, nearly-production-ready codebase might be ready? Thanks.

I'm still fine assigning a beta deployment of this code as low risk, for now. Tagging @acooper for additional visibility. Any update on when a more complete, nearly-production-ready codebase might be ready? Thanks.

We're aiming for mid-late September, as discussed at T365525 and outlined at T366194. Does that work for you?

We're aiming for mid-late September, as discussed at T365525 and outlined at T366194. Does that work for you?

Yes, sounds good. Thanks.

TheresNoTime changed the task status from Open to In Progress.Aug 19 2024, 8:36 AM

iirc we will need to wait until 1.43.0-wmf.20 to add CommunityRequests to the extension-list [ patch ]

Change #1063843 had a related patch set uploaded (by Samtar; author: Samtar):

[operations/mediawiki-config@master] Add CommunityRequests to InitialiseSettings

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

Change #1063847 had a related patch set uploaded (by Samtar; author: Samtar):

[operations/mediawiki-config@master] CS: Load CommunityRequests

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

Change #1062977 merged by jenkins-bot:

[operations/mediawiki-config@master] Add CommunityRequests

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

Mentioned in SAL (#wikimedia-operations) [2024-09-02T11:54:29Z] <samtar@deploy1003> Started scap sync-world: Backport for [[gerrit:1062977|Add CommunityRequests (T372527)]]

Mentioned in SAL (#wikimedia-operations) [2024-09-02T12:13:16Z] <samtar@deploy1003> samtar: Backport for [[gerrit:1062977|Add CommunityRequests (T372527)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2024-09-02T12:22:43Z] <samtar@deploy1003> Finished scap sync-world: Backport for [[gerrit:1062977|Add CommunityRequests (T372527)]] (duration: 28m 14s)

Change #1070021 had a related patch set uploaded (by Samtar; author: Samtar):

[operations/mediawiki-config@master] IS-labs: Add CommunityRequests to InitialiseSettings-labs

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

Change #1070022 had a related patch set uploaded (by Samtar; author: Samtar):

[operations/mediawiki-config@master] CS: Load CommunityRequests

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

Change #1063843 merged by jenkins-bot:

[operations/mediawiki-config@master] IS: Add CommunityRequests to InitialiseSettings

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

Mentioned in SAL (#wikimedia-operations) [2024-09-02T13:14:20Z] <samtar@deploy1003> Started scap sync-world: Backport for [[gerrit:1063843|IS: Add CommunityRequests to InitialiseSettings (T372527)]]

Mentioned in SAL (#wikimedia-operations) [2024-09-02T13:16:19Z] <samtar@deploy1003> samtar: Backport for [[gerrit:1063843|IS: Add CommunityRequests to InitialiseSettings (T372527)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2024-09-02T13:21:03Z] <samtar@deploy1003> Finished scap sync-world: Backport for [[gerrit:1063843|IS: Add CommunityRequests to InitialiseSettings (T372527)]] (duration: 06m 43s)

Change #1070021 merged by jenkins-bot:

[operations/mediawiki-config@master] IS-labs: Add CommunityRequests to InitialiseSettings-labs

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

Change #1070022 merged by jenkins-bot:

[operations/mediawiki-config@master] CS-labs: Load CommunityRequests

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

TheresNoTime changed the task status from In Progress to Stalled.Sep 2 2024, 1:29 PM

CommunityRequests is now live on beta metawiki — ready to be enabled on production metawiki when permitted

CommunityRequests is now live on beta metawiki — ready to be enabled on production metawiki when permitted

What else needs to happen first? I think we're ready to deploy to Meta, it's only the messages after all. Any further development we do on the extension now (other than messages) will be behind a feature flag, pending the security review T365525.

@sbassett are we able to deploy this to production in its current state? (per above)

@sbassett are we able to deploy this to production in its current state? (per above)

If we're just talking about the boilerplate code and i18n json files under current master, then I'd say a deploy to meta would also be low risk, from a security perspective.

TheresNoTime changed the task status from Stalled to In Progress.Sep 3 2024, 4:07 PM

Change #1070557 had a related patch set uploaded (by Samtar; author: Samtar):

[operations/mediawiki-config@master] IS: Enable CommunityRequests on Meta

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

Change #1063847 merged by jenkins-bot:

[operations/mediawiki-config@master] CS: Load CommunityRequests

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

Mentioned in SAL (#wikimedia-operations) [2024-09-05T11:33:00Z] <samtar@deploy1003> Started scap sync-world: Backport for [[gerrit:1063847|CS: Load CommunityRequests (T372527)]]

Mentioned in SAL (#wikimedia-operations) [2024-09-05T11:36:47Z] <samtar@deploy1003> samtar: Backport for [[gerrit:1063847|CS: Load CommunityRequests (T372527)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2024-09-05T11:41:33Z] <samtar@deploy1003> Finished scap sync-world: Backport for [[gerrit:1063847|CS: Load CommunityRequests (T372527)]] (duration: 08m 32s)

Change #1070557 merged by jenkins-bot:

[operations/mediawiki-config@master] IS: Enable CommunityRequests on Meta

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

Mentioned in SAL (#wikimedia-operations) [2024-09-05T11:43:08Z] <samtar@deploy1003> Started scap sync-world: Backport for [[gerrit:1070557|IS: Enable CommunityRequests on Meta (T372527)]]

Mentioned in SAL (#wikimedia-operations) [2024-09-05T11:45:09Z] <samtar@deploy1003> samtar: Backport for [[gerrit:1070557|IS: Enable CommunityRequests on Meta (T372527)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2024-09-05T11:50:18Z] <samtar@deploy1003> Finished scap sync-world: Backport for [[gerrit:1070557|IS: Enable CommunityRequests on Meta (T372527)]] (duration: 07m 09s)