⚓ T359043 Enable temp account creation in CI and local development environments via DevelopmentSettings.php
Page Menu
Phabricator
Create Task
Maniphest
T359043
Enable temp account creation in CI and local development environments via DevelopmentSettings.php
Closed, Resolved
Public
Actions
Edit Task
Edit Related Tasks...
Create Subtask
Edit Parent Tasks
Edit Subtasks
Merge Duplicates In
Close As Duplicate
Edit Related Objects...
Edit Commits
Edit Mocks
Mute Notifications
Protect as security issue
Assigned To
kostajh
Authored By
kostajh
Mar 4 2024, 11:46 AM
2024-03-04 11:46:35 (UTC+0)
Tags
Release-Engineering-Team (Radar)
(Limbo)
Temporary accounts (Release train CI and infrastructure)
Trust and Safety Product Sprint (Sprint Koto (July 15 - July 26))
(Priority Backlog)
MW-1.43-notes (1.43.0-wmf.16; 2024-07-30)
Referenced Files
None
Subscribers
Aklapper
Bugreporter
hashar
kostajh
Michael
Description
This is a follow up from discussion of
T355879: [Epic] Make PHPUnit extension and core, Selenium, and API testing tests pass with temp account feature flag enabled
In
T355879#9585434
@kostajh
wrote:
I thought about this task some more, and would like to consider an alternative approach: don't bother creating new temp-account-specific CI jobs and attempting to have CI handle two different anonymous editing paradigms simultaneously. Just set
$wgAutoCreateTempUser['enabled'] = true;
in DevelopmentSettings.php in the "experimental" section, like we're doing in
DevelopmentSettings: Enable auto creation of temp users
, get all the tests to pass (we are not that far off from doing so), then, after we've merged that patch, it would mean:
MediaWiki uses temp accounts by default when using
DevelopmentSettings.php
CI only tests temp accounts paradigm for
master
branch (
REL_
branches would be unaffected)
Regressions relating to anonymous IP editing would be caught by PHPUnit tests that explicitly switch off temp accounts functionality, or via manual QA / logs review on beta wikis and testwiki / testwiki2
I am leaning toward this way because:
Creating duplicate jobs for Selenium/API testing/PHPUnit is going to be time-consuming to do (updating Quibble, building new images, crafting new jobs, deploying a bunch of new jobs) and time-consuming / resource intensive (we already struggle at times with having enough capacity for CI)
Most of our existing tests are not badly broken with
$wgAutoCreateTempUser['enabled'] = true;
which suggests that we don't have a lot of tests targeting anonymous IP editing anyway. From that, I infer that it is probably not going to be missed much in CI if those tests no longer operate in that paradigm.
Temp accounts are in the near term future (see also
T355880: Decide long term strategy for temporary accounts in MediaWiki core
) for WMF. We should not invest substantial time and resources in maintaining a dual anonymous IP editing paradigm in CI, when those time/resources could be better used elsewhere
Details
Related Changes in Gerrit:
Subject
Repo
Branch
Lines +/-
DevelopmentSettings: Enable temp user autocreation
mediawiki/core
master
+4
-5
DevelopmentSettings: Enable auto creation of temp users in CI
mediawiki/core
master
+8
-1
dockerfiles: update Quibble to 1.8.0
integration/config
master
+92
-2
local_settings: Load DevelopmentSettings.php after setting MW_QUIBBLE_CI
integration/quibble
master
+7
-7
Customize query in gerrit
Related Objects
Search...
Task Graph
Mentions
Status
Subtype
Assigned
Task
Restricted Task
Resolved
kostajh
T294511
2021 Security Team wikireplicas audit
Declined
None
T284948
Raw IPs of logged-out users disclosed in wiki-replicas
Resolved
Niharika
T324492
Temporary accounts - MVP
Resolved
kostajh
T358847
[Epic] Ensure safety of release train and CI infrastructure during temporary accounts rollout
Resolved
kostajh
T355879
[Epic] Make PHPUnit extension and core, Selenium, and API testing tests pass with temp account feature flag enabled
Resolved
kostajh
T359043
Enable temp account creation in CI and local development environments via DevelopmentSettings.php
Resolved
kostajh
T358806
CannotCreateActorException when a logged out user triggers SpamBlacklist log
Resolved
STran
T334623
How do we log unsuccessful first edits for temporary users?
Mentioned In
T365669: Ensure PHPUnit MediaWiki core tests pass when temp account feature flag is enabled
T365647: Ensure api-testing MediaWiki core tests pass when temp account feature flag is enabled
T365646: [REPO][SW] Ensure Selenium tests pass when temp account feature flag is enabled
T365645: Ensure PHPUnit MediaWiki extensions tests pass when temp account feature flag is enabled
T363179: Allow enabling temporary accounts via the installer
T359335: Update $wgAutoCreateTempUser defaults with production settings
T358683: Update ApiQueryUserInfo to handle temporary users
T353961: Consider creating a Wikibase Secondary CI job with temporary accounts enabled
T355879: [Epic] Make PHPUnit extension and core, Selenium, and API testing tests pass with temp account feature flag enabled
Mentioned Here
T349129: [Epic] Workflows that create an IP (anon) actor should create a temporary user actor instead
T349219: [M] Investigate: Which workflows create an IP actor?
T356524: Ensure temp accounts can be safely disabled after being enabled
T355879: [Epic] Make PHPUnit extension and core, Selenium, and API testing tests pass with temp account feature flag enabled
T355880: Decide long term strategy for temporary accounts in MediaWiki core
Event Timeline
kostajh
created this task.
Mar 4 2024, 11:46 AM
2024-03-04 11:46:35 (UTC+0)
Restricted Application
added a subscriber:
Aklapper
View Herald Transcript
Mar 4 2024, 11:46 AM
2024-03-04 11:46:35 (UTC+0)
kostajh
mentioned this in
T355879: [Epic] Make PHPUnit extension and core, Selenium, and API testing tests pass with temp account feature flag enabled
Mar 4 2024, 11:47 AM
2024-03-04 11:47:11 (UTC+0)
kostajh
mentioned this in
T353961: Consider creating a Wikibase Secondary CI job with temporary accounts enabled
gerritbot
added a comment.
Mar 4 2024, 11:54 AM
2024-03-04 11:54:51 (UTC+0)
Comment Actions
Change 980947 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):
[mediawiki/core@master] DevelopmentSettings: Enable auto creation of temp users
gerritbot
added a project:
Patch-For-Review
Mar 4 2024, 11:54 AM
2024-03-04 11:54:53 (UTC+0)
Bugreporter
subscribed.
Mar 4 2024, 12:43 PM
2024-03-04 12:43:21 (UTC+0)
Comment Actions
There are many places using DevelopmentSettings (e.g.
) and enable a feature that is incomplete and not yet compatible with some extensions by default will surprise users.
kostajh
added a comment.
Mar 4 2024, 1:06 PM
2024-03-04 13:06:53 (UTC+0)
Comment Actions
In
T359043#9595703
@Bugreporter
wrote:
There are many places using DevelopmentSettings (e.g.
) and enable a feature that is incomplete and not yet compatible with some extensions by default will surprise users.
We would couple this change with announcements to e.g. wikitech-l. I agree that some developers will be surprised, but I would prefer for that to happen in advance of us deploying this functionality to testwiki and pilot wikis, as it gives people more time to file bug reports, report edge case issues, etc.
kostajh
added a comment.
Edited
Mar 4 2024, 1:20 PM
2024-03-04 13:20:23 (UTC+0)
Comment Actions
In
T359043#9595814
@kostajh
wrote:
In
T359043#9595703
@Bugreporter
wrote:
There are many places using DevelopmentSettings (e.g.
AFAIK the places are:
Local development quickstart; using
composer mw-install:sqlite
invokes
install.php
with
--with-developmentsettings
which loads DevelopmentSettings.php
MediaWiki-Docker
base images loads DevelopmentSetttings.php
Quibble
CI images loads DevelopmentSettings.php
MediaWiki-Vagrant
(unsure of whether it loads DevelopmentSettings.php by default)
I think in all of the above, we want temp accounts as the default for development environments. Developers can switch it off in LocalSettings.php if they need to work on a task related to anonymous IP editing, using
$wgAutoCreateTempUser['enabled'] = false;
. (Side note,
T356524: Ensure temp accounts can be safely disabled after being enabled
exists but is about production deployments; it should not matter at all for local development environments.)
Beta cluster does not load DevelopmentSettings.php, but even if it did, we have config (
$wmgEnableIPMasking
) that would override the default value in DevelopmentSettings.php.
Are there
other places
you're concerned about?
kostajh
added subtasks:
T307060: [Epic] Temporary account AbuseFilter support
T358806: CannotCreateActorException when a logged out user triggers SpamBlacklist log
Mar 4 2024, 1:36 PM
2024-03-04 13:36:44 (UTC+0)
kostajh
edited subtasks, added:
T334623: How do we log unsuccessful first edits for temporary users?
; removed:
T307060: [Epic] Temporary account AbuseFilter support
kostajh
added a subtask:
T326908: Update WMDE Engineering-owned products that may be affected by IP Masking
Mar 4 2024, 1:39 PM
2024-03-04 13:39:58 (UTC+0)
kostajh
edited subtasks, added:
T353961: Consider creating a Wikibase Secondary CI job with temporary accounts enabled
; removed:
T326908: Update WMDE Engineering-owned products that may be affected by IP Masking
Mar 4 2024, 1:42 PM
2024-03-04 13:42:01 (UTC+0)
kostajh
mentioned this in
T358683: Update ApiQueryUserInfo to handle temporary users
Mar 4 2024, 1:55 PM
2024-03-04 13:55:46 (UTC+0)
Bugreporter
added a comment.
Mar 4 2024, 2:05 PM
2024-03-04 14:05:50 (UTC+0)
Comment Actions
See
T349129
T349219
for places it will break.
Lucas_Werkmeister_WMDE
closed subtask
T353961: Consider creating a Wikibase Secondary CI job with temporary accounts enabled
as
Resolved
Mar 5 2024, 11:56 AM
2024-03-05 11:56:53 (UTC+0)
kostajh
mentioned this in
T359335: Update $wgAutoCreateTempUser defaults with production settings
Mar 6 2024, 1:02 PM
2024-03-06 13:02:56 (UTC+0)
thcipriani
edited projects, added
Release-Engineering-Team (Radar)
; removed
Release-Engineering-Team
Apr 3 2024, 5:33 PM
2024-04-03 17:33:52 (UTC+0)
kostajh
mentioned this in
T363179: Allow enabling temporary accounts via the installer
Apr 23 2024, 3:17 PM
2024-04-23 15:17:58 (UTC+0)
kostajh
updated the task description.
(Show Details)
Apr 26 2024, 9:23 AM
2024-04-26 09:23:53 (UTC+0)
kostajh
claimed this task.
Apr 26 2024, 9:31 AM
2024-04-26 09:31:38 (UTC+0)
hashar
subscribed.
Apr 26 2024, 9:31 AM
2024-04-26 09:31:48 (UTC+0)
kostajh
closed subtask
T334623: How do we log unsuccessful first edits for temporary users?
as
Resolved
May 22 2024, 1:51 PM
2024-05-22 13:51:24 (UTC+0)
kostajh
added a parent task:
T355879: [Epic] Make PHPUnit extension and core, Selenium, and API testing tests pass with temp account feature flag enabled
May 22 2024, 7:48 PM
2024-05-22 19:48:44 (UTC+0)
kostajh
added a comment.
May 22 2024, 7:51 PM
2024-05-22 19:51:40 (UTC+0)
Comment Actions
TSP team discussed this internally. We are proposing to do this in stages:
Add to DevelopmentSettings, but gate it behind
MW_QUIBBLE_CI
environment flag. That means that temp accounts is enabled in CI, but not in local development environment
On or around the time that testwiki deployment happens, remove the MW_QUIBBLE_CI flag and enable by default in DevelopmentSettings.php
Both stages would have some communications to assist developers.
kostajh
mentioned this in
T365645: Ensure PHPUnit MediaWiki extensions tests pass when temp account feature flag is enabled
May 22 2024, 7:59 PM
2024-05-22 19:59:37 (UTC+0)
kostajh
mentioned this in
T365646: [REPO][SW] Ensure Selenium tests pass when temp account feature flag is enabled
kostajh
mentioned this in
T365647: Ensure api-testing MediaWiki core tests pass when temp account feature flag is enabled
gerritbot
added a comment.
May 22 2024, 8:17 PM
2024-05-22 20:17:12 (UTC+0)
Comment Actions
Change #1035035 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):
[integration/quibble@master] local_settings: Load DevelopmentSettings.php after setting MW_QUIBBLE_CI
gerritbot
added a comment.
May 22 2024, 8:20 PM
2024-05-22 20:20:44 (UTC+0)
Comment Actions
Change #1035037 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):
[mediawiki/core@master] [WIP] DevelopmentSettings: Enable temp users in non-CI contexts
kostajh
mentioned this in
T365669: Ensure PHPUnit MediaWiki core tests pass when temp account feature flag is enabled
May 23 2024, 7:11 AM
2024-05-23 07:11:42 (UTC+0)
kostajh
closed subtask
T358806: CannotCreateActorException when a logged out user triggers SpamBlacklist log
as
Resolved
May 23 2024, 7:51 AM
2024-05-23 07:51:35 (UTC+0)
kostajh
removed a subtask:
T353961: Consider creating a Wikibase Secondary CI job with temporary accounts enabled
Michael
subscribed.
May 23 2024, 7:58 AM
2024-05-23 07:58:25 (UTC+0)
gerritbot
added a comment.
May 30 2024, 8:18 AM
2024-05-30 08:18:04 (UTC+0)
Comment Actions
Change #1035035
merged
by jenkins-bot:
[integration/quibble@master] local_settings: Load DevelopmentSettings.php after setting MW_QUIBBLE_CI
Stashbot
added a comment.
May 30 2024, 8:34 AM
2024-05-30 08:34:56 (UTC+0)
Comment Actions
Mentioned in SAL (#wikimedia-releng)
[2024-05-30T08:34:55Z] Tag Quibble 1.8.0 @
ee3ac324afd8b2935f334979ba73fdcd03be51f6
T359043
gerritbot
added a comment.
May 30 2024, 9:48 AM
2024-05-30 09:48:59 (UTC+0)
Comment Actions
Change #1037455 had a related patch set uploaded (by Hashar; author: Hashar):
[integration/config@master] dockerfiles: update Quibble to 1.8.0
gerritbot
added a comment.
May 30 2024, 1:08 PM
2024-05-30 13:08:21 (UTC+0)
Comment Actions
Change #1037455
merged
by jenkins-bot:
[integration/config@master] dockerfiles: update Quibble to 1.8.0
kostajh
edited projects, added
Temporary accounts (Release train CI and infrastructure)
; removed
Temporary accounts
Jul 1 2024, 11:17 AM
2024-07-01 11:17:38 (UTC+0)
kostajh
renamed this task from
Enable temp account creation in DevelopmentSettings.php
to
Enable temp account creation in CI via DevelopmentSettings.php
Jul 9 2024, 1:42 PM
2024-07-09 13:42:18 (UTC+0)
gerritbot
added a comment.
Jul 18 2024, 8:24 AM
2024-07-18 08:24:25 (UTC+0)
Comment Actions
Change #980947
merged
by jenkins-bot:
[mediawiki/core@master] DevelopmentSettings: Enable auto creation of temp users in CI
ReleaseTaggerBot
added a project:
MW-1.43-notes (1.43.0-wmf.15; 2024-07-23)
Jul 18 2024, 9:00 AM
2024-07-18 09:00:16 (UTC+0)
kostajh
closed this task as
Resolved
Jul 22 2024, 4:09 AM
2024-07-22 04:09:08 (UTC+0)
kostajh
added a comment.
Jul 25 2024, 1:45 PM
2024-07-25 13:45:39 (UTC+0)
Comment Actions
In
T359043#9823131
@kostajh
wrote:
On or around the time that testwiki deployment happens, remove the MW_QUIBBLE_CI flag and enable by default in DevelopmentSettings.php
This is now ready in
DevelopmentSettings: Enable temp user autocreation
Both stages would have some communications to assist developers.
Proposed communication for wikitech-l:
With
DevelopmentSettings: Enable temp user autocreation
, we are enabling temporary account autocreation for anonymous edits by default when DevelopmentSettings.php is loaded. The goal is to bring wider exposure of the feature to developers, to help with identifying problems not currently known.
kostajh
renamed this task from
Enable temp account creation in CI via DevelopmentSettings.php
to
Enable temp account creation in CI and local development environments via DevelopmentSettings.php
Jul 25 2024, 1:45 PM
2024-07-25 13:45:59 (UTC+0)
kostajh
reopened this task as
Open
kostajh
added a project:
Trust and Safety Product Sprint (Sprint Koto (July 15 - July 26))
Comment Actions
Re-opening for the last patch about enabling by default in DevelopmentSettings.php (
T359043#10014787
).
gerritbot
added a comment.
Jul 25 2024, 2:25 PM
2024-07-25 14:25:29 (UTC+0)
Comment Actions
Change #1035037
merged
by jenkins-bot:
[mediawiki/core@master] DevelopmentSettings: Enable temp user autocreation
Maintenance_bot
removed a project:
Patch-For-Review
Jul 25 2024, 2:30 PM
2024-07-25 14:30:52 (UTC+0)
kostajh
closed this task as
Resolved
Jul 25 2024, 2:40 PM
2024-07-25 14:40:21 (UTC+0)
ReleaseTaggerBot
edited projects, added
MW-1.43-notes (1.43.0-wmf.16; 2024-07-30)
; removed
MW-1.43-notes (1.43.0-wmf.15; 2024-07-23)
Jul 25 2024, 3:00 PM
2024-07-25 15:00:45 (UTC+0)
hashar
added a comment.
Jul 25 2024, 3:13 PM
2024-07-25 15:13:13 (UTC+0)
Comment Actions
Well done
@kostajh
Log In to Comment
Content licensed under Creative Commons Attribution-ShareAlike (CC BY-SA) 4.0 unless otherwise noted; code licensed under GNU General Public License (GPL) 2.0 or later and other open source licenses. By using this site, you agree to the Terms of Use, Privacy Policy, and Code of Conduct.
Wikimedia Foundation
Code of Conduct
Disclaimer
CC-BY-SA
GPL
Credits