A part of Wikimedia deployed extensions are tested together when a patch is sent to either of them, mediawiki/core or mediawiki/vendor. That is done by the Jenkins jobs prefixed with `wmf-quibble-`.
The list of gated extensions is defined in zuul/layout.yaml by having the template `extension-gate` and we also have to set them as a build parameters via zuul/parameter_functions.py (see the list `gatedextensions`).
As of September 13th 2018 they are:
```
gatedextensions = [
'AbuseFilter',
'Babel',
'CheckUser',
'CirrusSearch',
'cldr',
'Echo',
'Elastica',
'EventLogging',
'Flow',
'GeoData',
'GlobalCssJs',
'GlobalPreferences',
'GuidedTour',
'JsonConfig',
'MobileApp',
'MobileFrontend',
'NavigationTiming',
'SandboxLink',
'SiteMatrix',
'Thanks',
'TimedMediaHandler',
'Translate',
'UniversalLanguageSelector',
'VisualEditor',
# Note: pre-1.31 this is switched out for Wikidata build extension
'Wikibase',
'ZeroBanner',
'ZeroPortal',
]
```
We have various cases of breakage because their dependencies are not necessarily in the gate. T204065 is Wikibase that got broken by a patch in mediawiki/core which broke WikibaseLexeme. The patch to mediawiki/core did not run the WikibaseLexeme tests since it is not in the gate, although it is a dependency of Wikibase.
I wrote a test to check that the dependencies are in the gate with https://gerrit.wikimedia.org/r/460080 It is run daily via the [[ https://integration.wikimedia.org/ci/job/integration-config-qa/ | Jenkins job integration-config-qa ]].
The test result is available at:
https://integration.wikimedia.org/ci/job/integration-config-qa/lastBuild/testReport/(root)/test_zuul_gate_and_dependencies/
Which yields:
| Dependency | Status | Task
|--|--|--
|AntiSpoof is a dependency of: Thanks, Flow, AbuseFilter | {icon times color=red} Failed | T198653
|BetaFeatures is a dependency of: CirrusSearch, Wikibase, GeoData | {icon times color=red} Failed
|Capiunto is a dependency of: Wikibase | {icon times color=red} Failed
|CentralAuth is a dependency of: Thanks, MobileFrontend, Flow, Echo, Wikibase, ZeroBanner, ZeroPortal, MobileApp | {icon times color=red} Failed
|Cite is a dependency of: Thanks, MobileFrontend, Flow, VisualEditor, CirrusSearch, Wikibase, ZeroBanner, JsonConfig, GeoData, ZeroPortal, MobileApp | {icon times color=red} Failed
|CodeEditor is a dependency of: Thanks, Flow, AbuseFilter | {icon times color=red} Failed
|EducationProgram is a dependency of: Thanks, MobileFrontend, Flow, Echo, Wikibase, ZeroBanner, ZeroPortal, MobileApp | {icon times color=red} Failed
|PdfHandler is a dependency of: CirrusSearch, Wikibase, GeoData | {icon times color=red} Failed
|PropertySuggester is a dependency of: Wikibase | {icon times color=red} Failed | T204153
|Scribunto is a dependency of: Thanks, MobileFrontend, Wikibase, ZeroBanner, JsonConfig, ZeroPortal, MobileApp | {icon times color=red} Failed | T125050, T200976
|skins/MinervaNeue is a dependency of: Thanks, MobileFrontend, ZeroBanner, ZeroPortal, MobileApp | {icon times color=red} Failed | T202030
|SyntaxHighlight_GeSHi is a dependency of: Thanks, MobileFrontend, Wikibase, ZeroBanner, JsonConfig, ZeroPortal, MobileApp | {icon times color=red} Failed
|WikibaseLexeme is a dependency of: Wikibase | {icon times color=red} Failed | T204153
|WikibaseMediaInfo is a dependency of: Wikibase | {icon times color=red} Failed | T211133
|WikibaseQualityConstraints is a dependency of: Wikibase | {icon times color=red} Failed | T204153
|WikibaseQuality is a dependency of: Wikibase | {icon times color=red} Failed | T204153
|WikiEditor is a dependency of: Thanks, MobileFrontend, Flow, Echo, AbuseFilter, Wikibase, ZeroBanner, ZeroPortal, MobileApp | {icon times color=red} Failed
|WikimediaBadges is a dependency of: Wikibase | {icon times color=red} Failed | T204153
| Dependency | Status | Task
|--|--|--
|AbuseFilter is a dependency of: Thanks, Flow | {icon check color=green} Passed |
|CheckUser is a dependency of: Thanks, Flow, AbuseFilter | {icon check color=green} Passed |
|CirrusSearch is a dependency of: CirrusSearch, Wikibase, GeoData | {icon check color=green} Passed |
|cldr is a dependency of: Thanks, MobileFrontend, Flow, Echo, Wikibase, ZeroBanner, Translate, ZeroPortal, MobileApp | {icon check color=green} Passed |
|Echo is a dependency of: Thanks, MobileFrontend, Flow, Echo, Wikibase, ZeroBanner, ZeroPortal, MobileApp | {icon check color=green} Passed |
|Elastica is a dependency of: CirrusSearch, Wikibase, GeoData | {icon check color=green} Passed |
|EventLogging is a dependency of: Thanks, MobileFrontend, Flow, Echo, GuidedTour, UniversalLanguageSelector, AbuseFilter, Wikibase, ZeroBanner, Translate, ZeroPortal, MobileApp, NavigationTiming | {icon check color=green} Passed |
|Flow is a dependency of: Thanks | {icon check color=green} Passed |
|GeoData is a dependency of: CirrusSearch, Wikibase, GeoData | {icon check color=green} Passed |
|JsonConfig is a dependency of: Thanks, MobileFrontend, ZeroBanner, ZeroPortal, MobileApp | {icon check color=green} Passed |
|MobileApp is a dependency of: Thanks, MobileFrontend, ZeroBanner, ZeroPortal, MobileApp | {icon check color=green} Passed |
|MobileFrontend is a dependency of: Thanks, MobileFrontend, ZeroBanner, ZeroPortal, MobileApp | {icon check color=green} Passed |
|SiteMatrix is a dependency of: CirrusSearch, Wikibase, GeoData | {icon check color=green} Passed |
|TimedMediaHandler is a dependency of: CirrusSearch, Wikibase, GeoData | {icon check color=green} Passed |
|UniversalLanguageSelector is a dependency of: Wikibase, Translate | {icon check color=green} Passed |
|VisualEditor is a dependency of: Thanks, MobileFrontend, Flow, VisualEditor, CirrusSearch, Wikibase, ZeroBanner, JsonConfig, GeoData, ZeroPortal, MobileApp | {icon check color=green} Passed |
|Wikibase is a dependency of: Wikibase | {icon check color=green} Passed |
|ZeroBanner is a dependency of: Thanks, MobileFrontend, ZeroBanner, ZeroPortal, MobileApp | {icon check color=green} Passed |
|ZeroPortal is a dependency of: Thanks, MobileFrontend, ZeroBanner, ZeroPortal, MobileApp | {icon check color=green} Passed |