Page MenuHomePhabricator

Convert all MediaWiki extension phpunit jobs to use generic jobs
Closed, ResolvedPublic

Description

Follows up T94327: Create generic phpunit job for MediaWiki extensions. We can now inject dependencies via EXT_DEPENDENCIES / zuul/parameter_functions.py, so all of those should be migrated. Then clean up the non-voting ones somehow, probably be creating a generic non-voting job?

Current list:

ext-name:
 - ActivityMonitor
 - ArticleFeedback
 - ArticleFeedbackv5
 - Auth_remoteuser
 - AWS
 - Babel
 - BookManager
 - CheckUser
 - CiteThisPage
 - cldr
 - ConfirmEdit
 - ContentTranslation:
    dependencies: 'UniversalLanguageSelector,EventLogging'
 - Contest
 - CryoKey
 - Dice
 - DjangoAnalytics
 - DonationInterface:
    dependencies: 'ContributionTracking'
 - Echo
 - EditPageTracking
 - EtherEditor
 - EventLogging
 - ExtTab
 - FanBoxes
 - Flow:
    dependencies: 'AbuseFilter,SpamBlacklist,CheckUser,Echo,EventLogging,ConfirmEdit,VisualEditor,GuidedTour'
 - GitHub
 - Hovergallery
 - IndexFunction
 - intersection
 - JsonConfig
 - Limn
 - ListSignup
 - Maps:
    dependencies: 'Validator'
 - MobileApp:
    dependencies: 'Echo,MobileFrontend,VisualEditor'
 - MobileFrontend:
    dependencies: 'Echo,VisualEditor'
 - MoodBar
 - MsLinks
 - MultimediaPlayer
 - MultimediaViewer
 - NaturalLanguageList
 - NewsBox
 - NSFileRepo:
    dependencies: 'Lockdown'
 - OAuthAuthentication
 - Offline
 - OnlineStatusBar
 - OpenID
 - OpenIDConnect:
    dependencies: 'PluggableAuth'
 - Oversight
 - ParserFun
 - Parsoid
 - PhpTagsFunctions:
    dependencies: 'PhpTags'
 - PhpTagsMaps
 - PhpTagsSMW
 - PhpTagsStorage:
    dependencies: 'PhpTags,PhpTagsFunctions,PhpTagsWiki,PhpTagsWidgets'
 - PhpTagsWidgets:
    dependencies: 'PhpTags,PhpTagsFunctions,PhpTagsWiki'
 - PhpTagsWiki:
    dependencies: 'PhpTags,PhpTagsFunctions'
 - PictureGame
 - PollNY
 - PoolCounter
 - QuizGame
 - QuizTabulate
 - Ratings:
    dependencies: 'Validator'
 - RDFIO
 - RegexFun
 - SandboxLink
 - Sarcasm
 - Screenplay
 - SearchRealnames
 - SecurePasswords
 - SemanticACL
 - SemanticBundle
 - SemanticCompoundQueries
 - SemanticDrilldown
 - SemanticDummyEditor
 - SemanticExpressiveness
 - SemanticExtraSpecialProperties
 - SemanticForms
 - SemanticGenealogy
 - SemanticGlossary
 - SemanticHighcharts
 - SemanticImageAnnotator
 - SemanticImageInput
 - SemanticInternalObjects
 - SemanticMaps
 - SemanticMediaWiki
 - SemanticMetaTags
 - SemanticPageMaker
 - SemanticPageSeries
 - SemanticRating
 - SemanticResultFormats
 - SemanticSifter
 - SemanticSignup
 - SemanticTasks
 - SemanticTitle
 - SemanticUpdateOnPurge
 - SemanticWatchlist
 - ShortUrlApi
 - SideBarMenu
 - SignWritingMediaWikiPlugin
 - SimpleSurvey:
    dependencies: 'PrefSwitch'
 - SiteSettings
 - skins
 - SolrStore
 - SpamBlacklist
 - SphinxSearch
 - Spreadsheet:
     dependencies: 'PHPExcel'
 - SSLClientAuthentication
 - SubPageList
 - SwarmExport
 - SyntaxHighlight_GeSHi
 - Tabs
 - Thanks:
    dependencies: 'Echo,Flow,MobileFrontend,VisualEditor,GuidedTour,AbuseFilter,SpamBlacklist,CheckUser,EventLogging,ConfirmEdit'
 - ThrottleOverride
 - timeline
 - TitleBlacklist:
    dependencies: 'AntiSpoof'
 - Translate:
    dependencies: 'UniversalLanguageSelector,EventLogging,cldr'
 - TranslateSvg:
    dependencies: 'Translate,UniversalLanguageSelector,EventLogging'
 - TranslationNotifications:
    dependencies: 'Translate,UniversalLanguageSelector,EventLogging'
 - Transliterator
 - TwnMainPage:
     dependencies: 'Translate,UniversalLanguageSelector,EventLogging'
 - TwoFactorAuthentication
 - UIFeedback
 - UnitTest
 - UniversalLanguageSelector:
    dependencies: 'EventLogging'
 - UpdateMediaWiki
 - UserPageViewTracker
 - Validator
 - VectorBeta:
    dependencies: 'EventLogging'
 - VisualChat
 - VisualEditor
 - VoteNY
 - Widgets
 - WikibaseJavaScriptApi
 - WikidataEntitySuggester
 - WikidataPageBanner
 - wikihiero:
    dependencies: 'VisualEditor'
 - WikiLexicalData
 - WikimediaEvents:
    dependencies: 'EventLogging'
 - WikivoteMapsYandex:
    dependencies: 'Maps'
 - WindowsAzureSDK
 - ZeroBanner:
    dependencies: 'Echo,JsonConfig,MobileFrontend,VisualEditor'
 - ZeroPortal:
    dependencies: 'Echo,JsonConfig,MobileFrontend,VisualEditor,ZeroBanner'

Event Timeline

Legoktm raised the priority of this task from to Medium.
Legoktm updated the task description. (Show Details)
Legoktm added a subscriber: Legoktm.

I love the idea of a generic non voting job. Never thought about it!

Change 270651 had a related patch set uploaded (by Legoktm):
Add a non-voting generic phpunit job for extensions, and use it

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

Change 270651 merged by jenkins-bot:
Add a non-voting generic phpunit job for extensions, and use it

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

Aaaand 5 more commits later, the only non-generic jobs that are left are those for extensions that are currently in extension-gate, because we filter on the names to skip branches, but I think we can use the new skip-if feature for that?

Change 271555 had a related patch set uploaded (by Hashar):
Remove non-voting testextension jobs from gate

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

Change 271555 merged by jenkins-bot:
Remove non-voting testextension jobs from gate

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

Change 271581 had a related patch set uploaded (by Legoktm):
Remove no-longer needed non-voting rules for testextension jobs

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

Change 271581 merged by jenkins-bot:
Remove no-longer needed non-voting rules for testextension jobs

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

mediawiki-extensions- phpunit and qunit need updating to use the updated generic test so that the extension dependencies are injected again since most extensions have been converted but some need the extensions dependacies which will not work until we update it.

Paladox claimed this task.

All one now. See https://gerrit.wikimedia.org/r/#/c/280237/

Thanks and Flow were converted to use extension-gate test.