Page MenuHomePhabricator

Have dependencies of gated extensions in the gate
Open, NormalPublic

Description

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 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:

DependencyStatusTask
AntiSpoof is a dependency of: Thanks, Flow, AbuseFilter FailedT198653
BetaFeatures is a dependency of: CirrusSearch, Wikibase, GeoData Failed
Capiunto is a dependency of: Wikibase Failed
CentralAuth is a dependency of: Thanks, MobileFrontend, Flow, Echo, Wikibase, ZeroBanner, ZeroPortal, MobileApp Failed
Cite is a dependency of: Thanks, MobileFrontend, Flow, VisualEditor, CirrusSearch, Wikibase, ZeroBanner, JsonConfig, GeoData, ZeroPortal, MobileApp Failed
CodeEditor is a dependency of: Thanks, Flow, AbuseFilter Failed
EducationProgram is a dependency of: Thanks, MobileFrontend, Flow, Echo, Wikibase, ZeroBanner, ZeroPortal, MobileApp Failed
PdfHandler is a dependency of: CirrusSearch, Wikibase, GeoData Failed
PropertySuggester is a dependency of: Wikibase FailedT204153
Scribunto is a dependency of: Thanks, MobileFrontend, Wikibase, ZeroBanner, JsonConfig, ZeroPortal, MobileApp FailedT125050, T200976
skins/MinervaNeue is a dependency of: Thanks, MobileFrontend, ZeroBanner, ZeroPortal, MobileApp FailedT202030
SyntaxHighlight_GeSHi is a dependency of: Thanks, MobileFrontend, Wikibase, ZeroBanner, JsonConfig, ZeroPortal, MobileApp Failed
WikibaseLexeme is a dependency of: Wikibase FailedT204153
WikibaseQualityConstraints is a dependency of: Wikibase FailedT204153
WikibaseQuality is a dependency of: Wikibase FailedT204153
WikiEditor is a dependency of: Thanks, MobileFrontend, Flow, Echo, AbuseFilter, Wikibase, ZeroBanner, ZeroPortal, MobileApp Failed
WikimediaBadges is a dependency of: Wikibase FailedT204153
DependencyStatusTask
AbuseFilter is a dependency of: Thanks, Flow Passed
CheckUser is a dependency of: Thanks, Flow, AbuseFilter Passed
CirrusSearch is a dependency of: CirrusSearch, Wikibase, GeoData Passed
cldr is a dependency of: Thanks, MobileFrontend, Flow, Echo, Wikibase, ZeroBanner, Translate, ZeroPortal, MobileApp Passed
Echo is a dependency of: Thanks, MobileFrontend, Flow, Echo, Wikibase, ZeroBanner, ZeroPortal, MobileApp Passed
Elastica is a dependency of: CirrusSearch, Wikibase, GeoData Passed
EventLogging is a dependency of: Thanks, MobileFrontend, Flow, Echo, GuidedTour, UniversalLanguageSelector, AbuseFilter, Wikibase, ZeroBanner, Translate, ZeroPortal, MobileApp, NavigationTiming Passed
Flow is a dependency of: Thanks Passed
GeoData is a dependency of: CirrusSearch, Wikibase, GeoData Passed
JsonConfig is a dependency of: Thanks, MobileFrontend, ZeroBanner, ZeroPortal, MobileApp Passed
MobileApp is a dependency of: Thanks, MobileFrontend, ZeroBanner, ZeroPortal, MobileApp Passed
MobileFrontend is a dependency of: Thanks, MobileFrontend, ZeroBanner, ZeroPortal, MobileApp Passed
SiteMatrix is a dependency of: CirrusSearch, Wikibase, GeoData Passed
TimedMediaHandler is a dependency of: CirrusSearch, Wikibase, GeoData Passed
UniversalLanguageSelector is a dependency of: Wikibase, Translate Passed
VisualEditor is a dependency of: Thanks, MobileFrontend, Flow, VisualEditor, CirrusSearch, Wikibase, ZeroBanner, JsonConfig, GeoData, ZeroPortal, MobileApp Passed
Wikibase is a dependency of: Wikibase Passed
WikibaseMediaInfo is a dependency of: Wikibase Passed
ZeroBanner is a dependency of: Thanks, MobileFrontend, ZeroBanner, ZeroPortal, MobileApp Passed
ZeroPortal is a dependency of: Thanks, MobileFrontend, ZeroBanner, ZeroPortal, MobileApp Passed

Related Objects

Event Timeline

hashar created this task.Sep 13 2018, 3:19 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptSep 13 2018, 3:19 PM
hashar updated the task description. (Show Details)Sep 13 2018, 3:27 PM
hashar updated the task description. (Show Details)Sep 13 2018, 3:36 PM

@hashar, would you please triage priority and placement on the RelEng Kanban board? Thanks!

greg triaged this task as Normal priority.Nov 21 2018, 12:18 AM
greg added a subscriber: greg.

@hashar, would you please triage priority and placement on the RelEng Kanban board? Thanks!

further grooming still needed (next steps etc)

From T204153:

I have created a dummy test that tracks whether dependencies of gated extensions are also in the gate https://gerrit.wikimedia.org/r/#/c/integration/config/+/460080/

The test is run daily and the test report is at https://integration.wikimedia.org/ci/job/integration-config-qa/lastBuild/testReport/ , that gives me failures such as:

Dependency of gated project is in gate: AbuseFilter ... ok
Dependency of gated project is in gate: AntiSpoof ... FAIL
Dependency of gated project is in gate: BetaFeatures ... FAIL
Dependency of gated project is in gate: Capiunto ... FAIL
Dependency of gated project is in gate: CentralAuth ... FAIL
Dependency of gated project is in gate: CheckUser ... ok
Dependency of gated project is in gate: CirrusSearch ... ok
Dependency of gated project is in gate: Cite ... FAIL
Dependency of gated project is in gate: CodeEditor ... FAIL
Dependency of gated project is in gate: Echo ... ok
Dependency of gated project is in gate: EducationProgram ... FAIL
Dependency of gated project is in gate: Elastica ... ok
Dependency of gated project is in gate: EventLogging ... ok
Dependency of gated project is in gate: Flow ... ok
Dependency of gated project is in gate: GeoData ... ok
Dependency of gated project is in gate: JsonConfig ... ok
Dependency of gated project is in gate: MobileApp ... ok
Dependency of gated project is in gate: MobileFrontend ... ok
Dependency of gated project is in gate: PdfHandler ... FAIL
Dependency of gated project is in gate: PropertySuggester ... FAIL
Dependency of gated project is in gate: Scribunto ... FAIL
Dependency of gated project is in gate: SiteMatrix ... ok
Dependency of gated project is in gate: SyntaxHighlight_GeSHi ... FAIL
Dependency of gated project is in gate: TimedMediaHandler ... ok
Dependency of gated project is in gate: UniversalLanguageSelector ... ok
Dependency of gated project is in gate: VisualEditor ... ok
Dependency of gated project is in gate: WikiEditor ... FAIL
Dependency of gated project is in gate: Wikibase ... ok
Dependency of gated project is in gate: WikibaseLexeme ... FAIL
Dependency of gated project is in gate: WikibaseMediaInfo ... FAIL
Dependency of gated project is in gate: WikibaseQuality ... FAIL
Dependency of gated project is in gate: WikibaseQualityConstraints ... FAIL
Dependency of gated project is in gate: WikimediaBadges ... FAIL
Dependency of gated project is in gate: ZeroBanner ... ok
Dependency of gated project is in gate: ZeroPortal ... ok
Dependency of gated project is in gate: cldr ... ok
Dependency of gated project is in gate: skins/MinervaNeue ... FAIL