Krinkle has uploaded a new change for review.

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

Change subject: WIP: Refactor zuul layout templates
......................................................................

WIP: Refactor zuul layout templates

Deprecate extension-unittests in favour of extension-base and
other templates.

This is the first step towards reducing duplication, and
eventually to simplify most pipelines to only npm and/or composer
(which in turn run jshint/jscs and phplint/phpcs/phpunit).

Change-Id: Icfa582698d7d2d2dd391e4c997052950f49aecee
---
M zuul/layout.yaml
1 file changed, 103 insertions(+), 129 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/integration/config 
refs/changes/80/177180/1

diff --git a/zuul/layout.yaml b/zuul/layout.yaml
index 9077915..50c8605 100644
--- a/zuul/layout.yaml
+++ b/zuul/layout.yaml
@@ -1723,8 +1723,9 @@
 
 project-templates:
 
-  # Template for MediaWiki extensions.
-  # Does run the unit tests on 'test' and 'gate-and-submit'
+  # Template for MediaWiki extension repos with phpunit tests.
+  # DEPRECATED: Use extension-base instead. And supplement with
+  #  other templates.
   - name: extension-unittests
     check:
      - 'mwext-{name}-jslint'
@@ -1733,49 +1734,20 @@
     test:
      - 'mwext-{name}-jslint'
      - 'mwext-{name}-lint':
-       # Extensions tests with core+vendor
        - 'mwext-{name}-testextension'
      - php-composer-validate
     gate-and-submit:
      - mediawiki-gate
      - 'mwext-{name}-jslint'
      - 'mwext-{name}-lint':
-       # Extensions tests with core+vendor
        - 'mwext-{name}-testextension'
      - php-composer-validate
     experimental:
       - mediawiki-core-extensions-integration
 
-  # Template for MediaWiki extensions.
-  # Triggers qunit jobs
-  - name: extension-qunit
-    test:
-     - 'mwext-{name}-qunit'
-    gate-and-submit:
-     - 'mwext-{name}-qunit'
-
-  # Template for MediaWiki extensions.
-  # Triggers phpcs jobs
-  - name: extension-phpcs
-    check:
-      - 'mwext-{name}-phpcs-HEAD'
-    test:
-      - 'mwext-{name}-phpcs-HEAD'
-    gate-and-submit:
-      - 'mwext-{name}-phpcs-HEAD'
-
-  # Template for MediaWiki extensions.
-  # Triggers qunit and qunit mobile jobs
-  - name: extension-qunit-and-mobile
-    test:
-     - 'mwext-{name}-qunit'
-     - 'mwext-{name}-qunit-mobile'
-    gate-and-submit:
-     - 'mwext-{name}-qunit'
-     - 'mwext-{name}-qunit-mobile'
-
-  # Template for MediaWiki extensions.
-  # No unit tests but vote on linting.
+  # Template for MediaWiki extension repos without phpunit tests
+  #  (check-only based pipelines, no test pipeline).
+  # DEPRECATED: Use extension-base instead.
   - name: extension-checks
     check-only:
      - 'mwext-{name}-jslint'
@@ -1786,6 +1758,75 @@
      - 'mwext-{name}-jslint'
      - 'mwext-{name}-lint'
      - php-composer-validate
+
+  # Templates for MediaWiki extension repos.
+  # Start with extension-base and add others to it.
+
+  - name: extension-base
+    check:
+     - 'mwext-{name}-lint'
+     - php-composer-validate
+    test:
+     - 'mwext-{name}-lint'
+     - php-composer-validate
+    gate-and-submit:
+     - mediawiki-gate
+     - 'mwext-{name}-lint'
+     - php-composer-validate
+    experimental:
+      - mediawiki-core-extensions-integration
+
+  - name: extension-phpcs
+    check:
+      - 'mwext-{name}-phpcs-HEAD'
+    test:
+      - 'mwext-{name}-phpcs-HEAD'
+    gate-and-submit:
+      - 'mwext-{name}-phpcs-HEAD'
+
+  - name: extension-phpunit
+    test:
+      - 'mwext-{name}-testextension'
+    gate-and-submit:
+      - 'mwext-{name}-testextension'
+
+  - name: extension-phpunit
+    test:
+      - 'mwext-{name}-testextension'
+    gate-and-submit:
+      - 'mwext-{name}-testextension'
+
+  - name: extension-qunit
+    test:
+     - 'mwext-{name}-qunit'
+    gate-and-submit:
+     - 'mwext-{name}-qunit'
+
+  # Mutually exclusive with extension-npm
+  - name: extension-js
+    test:
+     - 'mwext-{name}-jslint'
+    test:
+     - 'mwext-{name}-jslint'
+    gate-and-submit:
+     - 'mwext-{name}-jslint'
+
+  # Mutually exclusive with extension-js
+  - name: extension-npm
+    test:
+     - 'mwext-{name}-jslint'
+    test:
+     - 'mwext-{name}-npm'
+    gate-and-submit:
+     - 'mwext-{name}-npm'
+
+  - name: extension-qunit-and-mobile
+    test:
+     - 'mwext-{name}-qunit'
+     - 'mwext-{name}-qunit-mobile'
+    gate-and-submit:
+     - 'mwext-{name}-qunit'
+     - 'mwext-{name}-qunit-mobile'
 
   - name: mw-skin
     check-voter:
@@ -3066,11 +3107,8 @@
 
   - name: mediawiki/extensions/DonationInterface
     template:
-      - name: extension-unittests
-    test:
-      - mwext-DonationInterface-npm
-    gate-and-submit:
-      - mwext-DonationInterface-npm
+      - name: extension-base
+      - name: extension-npm
     experimental:
       - wikimedia-fundraising-civicrm
 
@@ -3192,26 +3230,11 @@
 
   - name: mediawiki/extensions/Flow
     template:
+     - name: extension-base
+     - name: extension-npm
+     - name: extension-qunit
+     - name: extension-phpunit
      - name: extension-rubylint
-    check:
-     - mwext-Flow-jslint
-     - mwext-Flow-lint
-     - php-composer-validate
-    test:
-     - mwext-Flow-npm
-     - mwext-Flow-qunit
-     - mwext-Flow-lint:
-       - mwext-Flow-testextension
-     - php-composer-validate
-    gate-and-submit:
-     - mediawiki-gate
-     - mwext-Flow-npm
-     - mwext-Flow-qunit
-     - mwext-Flow-lint:
-       - mwext-Flow-testextension
-     - php-composer-validate
-    experimental:
-      - mediawiki-core-extensions-integration
 
   - name: mediawiki/extensions/FormPreloadPostCache
     template:
@@ -3322,11 +3345,10 @@
   - name: mediawiki/extensions/GuidedTour
     template:
       - name: extension-unittests
+      - name: extension-qunit
     test:
-     - mwext-GuidedTour-qunit
      - mwext-GuidedTour-doc-test
     gate-and-submit:
-     - mwext-GuidedTour-qunit
      - mwext-GuidedTour-doc-test
     postmerge:
      - mwext-GuidedTour-doc-publish
@@ -3356,17 +3378,10 @@
       - name: extension-unittests
 
   - name: mediawiki/extensions/Interwiki
-    check-only:
-      - mwext-Interwiki-phpcs-strict-HEAD # Experiment, bug 48420
-      - mwext-Interwiki-jslint
-      - mwext-Interwiki-lint
-      - php-composer-validate
-    gate-and-submit:
-      - mediawiki-gate
-      - mwext-Interwiki-phpcs-strict-HEAD # Experiment, bug 48420
-      - mwext-Interwiki-jslint
-      - mwext-Interwiki-lint
-      - php-composer-validate
+    template:
+      - name: extension-base
+      - name: extension-phpcs # Experiment, bug 48420
+      - name: extension-js
 
   - name: mediawiki/extensions/intersection
     template:
@@ -3418,12 +3433,7 @@
     template:
       - name: extension-unittests
       - name: extension-phpcs
-    test:
-      - mwext-Mantle-qunit
-      - mwext-Mantle-qunit-mobile
-    gate-and-submit:
-      - mwext-Mantle-qunit
-      - mwext-Mantle-qunit-mobile
+      - name: extension-qunit-and-mobile
 
   - name: mediawiki/extensions/Math
     template:
@@ -3454,26 +3464,12 @@
 
   - name: mediawiki/extensions/MobileFrontend
     template:
+      - name: extension-base
+      - name: extension-npm
       - name: extension-qunit-and-mobile
       - name: extension-rubylint
       - name: extension-phpcs
-    check:
-      - mwext-MobileFrontend-jslint
-      - mwext-MobileFrontend-lint
-      - php-composer-validate
-    test:
-      - mwext-MobileFrontend-lint
-      - mwext-MobileFrontend-testextension
-      - mwext-MobileFrontend-npm
-      - php-composer-validate
-    gate-and-submit:
-      - mediawiki-gate
-      - mwext-MobileFrontend-lint
-      - mwext-MobileFrontend-testextension
-      - mwext-MobileFrontend-npm
-      - php-composer-validate
-    experimental:
-      - mediawiki-core-extensions-integration
+      - name: extension-phpunit
 
   - name: mediawiki/extensions/MobileApp
     template:
@@ -5710,25 +5706,16 @@
 
   - name: mediawiki/extensions/VisualEditor
     template:
+      - name: extension-base
+      - name: extension-npm
       - name: extension-qunit
-      - name: extension-rubylint
       - name: extension-phpcs
-    check:
-      - mwext-VisualEditor-jslint
-      - mwext-VisualEditor-lint
-      - php-composer-validate
+      - name: extension-rubylint
     test:
-      - mwext-VisualEditor-npm
-      - mwext-VisualEditor-lint
       - mwext-VisualEditor-doc-test
-      - php-composer-validate
     gate-and-submit:
-      - mediawiki-gate
-      - mwext-VisualEditor-npm
-      - mwext-VisualEditor-lint
       - mwext-VisualEditor-doc-test
       - experiment-gating-dependencies
-      - php-composer-validate
     postmerge:
       - mwext-VisualEditor-doc-publish
       - mwext-VisualEditor-sync-gerrit
@@ -5738,34 +5725,20 @@
       - name: extension-unittests
 
   - name: mediawiki/extensions/WebFonts
-    check-only:
-      - mwext-WebFonts-jslint
-      - mwext-WebFonts-phpcs-HEAD
-      - mwext-WebFonts-lint
-      - php-composer-validate
-    gate-and-submit:
-      - mediawiki-gate
-      - mwext-WebFonts-jslint
-      - mwext-WebFonts-phpcs-HEAD
-      - mwext-WebFonts-lint
-      - php-composer-validate
+    template:
+      - name: extension-base
+      - name: extension-js
+      - name: extension-phpcs
 
   - name: mediawiki/extensions/WebPlatformAuth
     template:
       - name: extension-unittests
 
   - name: mediawiki/extensions/WikiEditor
-    check-only:
-      - mwext-WikiEditor-jslint
-      - mwext-WikiEditor-phpcs-HEAD
-      - mwext-WikiEditor-lint
-      - php-composer-validate
-    gate-and-submit:
-      - mediawiki-gate
-      - mwext-WikiEditor-jslint
-      - mwext-WikiEditor-phpcs-HEAD
-      - mwext-WikiEditor-lint
-      - php-composer-validate
+    template:
+      - name: extension-base
+      - name: extension-js
+      - name: extension-phpcs
 
   - name: mediawiki/extensions/Wikibase
     check:
@@ -5840,7 +5813,8 @@
 
   - name: mediawiki/extensions/WikiGrok
     template:
-      - name: extension-unittests
+      - name: extension-base
+      - name: extension-js
       - name: extension-phpcs
 
   - name: mediawiki/extensions/WikiObjectModel

-- 
To view, visit https://gerrit.wikimedia.org/r/177180
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Icfa582698d7d2d2dd391e4c997052950f49aecee
Gerrit-PatchSet: 1
Gerrit-Project: integration/config
Gerrit-Branch: master
Gerrit-Owner: Krinkle <krinklem...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to