Hashar has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/356047 )

Change subject: Run composer test from mediawiki-extensions jobs
......................................................................

Run composer test from mediawiki-extensions jobs

Just like we have merged 'composer test' in mwext-testextension jobs, do
the same for the mediawiki-extensions jobs (see 109ab65b93 ).

Zuul layout:

* Add phplint/composer validate in the check: pipeline.
* Remove mw-checks-test and mwgate-composer since that is now handled by
  running 'composer test'

Inject EXT_NAME when jobs are triggered from an extension. Used to cd to
the extension and run composer into it.

Bug: T161895
Change-Id: Ic960c80cf3901241408047df0a54eb5076e7a243
---
M jjb/mediawiki.yaml
M tests/test_zuul_scheduler.py
M zuul/layout.yaml
M zuul/parameter_functions.py
4 files changed, 13 insertions(+), 18 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/integration/config 
refs/changes/47/356047/1

diff --git a/jjb/mediawiki.yaml b/jjb/mediawiki.yaml
index 759cd2a..147a9bb 100644
--- a/jjb/mediawiki.yaml
+++ b/jjb/mediawiki.yaml
@@ -222,6 +222,7 @@
          phpflavor: '{phpflavor}'
      - hhvm-clear-hhbc
      - prepare-mediawiki-zuul-project
+     - composer-test-mwextension
      - mw-fetch-composer-dev
      - mw-run-phpunit-allexts
     publishers:
diff --git a/tests/test_zuul_scheduler.py b/tests/test_zuul_scheduler.py
index 9253093..ad7591c 100644
--- a/tests/test_zuul_scheduler.py
+++ b/tests/test_zuul_scheduler.py
@@ -140,6 +140,7 @@
             any([job for job in definition
                  if (
                      job.startswith(('composer', 'mwgate-composer'))
+                     or job.startswith('mediawiki-extensions-')
                      or (job.startswith('mwext-testextension-')
                          and 'non-voting' not in job)
                  )]),
@@ -155,7 +156,8 @@
 
         hasVotingTests = any([
             job for job in definition
-            if job.startswith('mwext-testextension-')
+            if job.startswith(
+                ('mwext-testextension-', 'mediawiki-extensions-'))
             and 'non-voting' not in job
             ])
         hasComposerTest = any([
@@ -172,6 +174,7 @@
         self.assertTrue(
             any([job for job in definition
                  if job.endswith(('php55lint')) or
+                 job.startswith('mediawiki-extensions-') or
                  job.startswith(('composer-', 'mwgate-composer'))]),
             'Project %s pipeline %s must have either '
             'phplint or a composer-* job'
diff --git a/zuul/layout.yaml b/zuul/layout.yaml
index f55bd7e..1eeaf57 100644
--- a/zuul/layout.yaml
+++ b/zuul/layout.yaml
@@ -1006,6 +1006,9 @@
     gate-and-submit-swat: *extension-selenium-gate-gate-and-submit
 
   - name: extension-gate
+    check:
+      - mwgate-php55lint
+      - mwgate-composer-validate
     test:
       - mediawiki-extensions-hhvm-jessie
       - mediawiki-extensions-qunit-jessie
@@ -2600,7 +2603,6 @@
 
   - name: mediawiki/extensions/Cards
     template:
-      - name: mwgate-composer
       - name: extension-gate
       - name: mwgate-npm
 
@@ -2636,7 +2638,6 @@
 
   - name: mediawiki/extensions/Cite
     template:
-      - name: mwgate-composer
       - name: extension-gate
       - name: mwgate-npm
 
@@ -2678,7 +2679,6 @@
     template:
       - name: extension-gate
       - name: mwgate-rake
-      - name: mw-checks-test
       - name: mwgate-npm
       - name: extension-phan-generic
     test:
@@ -3030,7 +3030,6 @@
 
   - name: mediawiki/extensions/Elastica
     template:
-      - name: mw-checks-test
       - name: extension-gate
       - name: mwgate-npm
 
@@ -3100,7 +3099,6 @@
 
   - name: mediawiki/extensions/Flow
     template:
-     - name: mwgate-composer
      - name: extension-gate
      - name: mwgate-rake
      - name: extension-jsduck
@@ -3522,7 +3520,6 @@
     template:
       - name: extension-gate
       - name: mwgate-rake
-      - name: mwgate-composer
       - name: mwgate-npm
       - name: extension-selenium
     test:
@@ -3582,7 +3579,6 @@
 
   - name: mediawiki/extensions/MwEmbedSupport
     template:
-      - name: mwgate-composer
       - name: extension-gate
       - name: mwgate-npm
 
@@ -5138,7 +5134,6 @@
   - name: mediawiki/extensions/SandboxLink
     template:
       - name: extension-gate
-      - name: mwgate-composer
       - name: mwgate-npm
 
   - name: mediawiki/extensions/Sarcasm
@@ -6266,7 +6261,6 @@
 
   - name: mediawiki/extensions/PdfHandler
     template:
-      - name: mwgate-composer
       - name: extension-gate
       - name: mwgate-rake
       - name: mwgate-npm
@@ -6499,7 +6493,6 @@
 
   - name: mediawiki/extensions/SiteMatrix
     template:
-      - name: mwgate-composer
       - name: extension-gate
       - name: mwgate-npm
 
@@ -6605,13 +6598,11 @@
 
   - name: mediawiki/extensions/Thanks
     template:
-      - name: mwgate-composer
       - name: extension-gate  # T86687
       - name: mwgate-npm
 
   - name: mediawiki/extensions/TimedMediaHandler
     template:
-      - name: mwgate-composer
       - name: extension-gate
       - name: mwgate-npm
 
@@ -6642,7 +6633,6 @@
 
   - name: mediawiki/extensions/Translate
     template:
-      - name: mwgate-composer
       - name: extension-gate
       - name: mwgate-rake
       - name: mwgate-npm
@@ -6749,7 +6739,6 @@
     template:
       - name: extension-gate
       - name: mwgate-rake
-      - name: mwgate-composer
       - name: commit-message-validator
     test:
       - mwext-VisualEditor-npm-node-6-jessie
@@ -6902,14 +6891,11 @@
   - name: mediawiki/extensions/ZeroBanner
     template:
       - name: extension-gate
-      - name: mw-checks-test
       - name: mwgate-npm
 
   - name: mediawiki/extensions/ZeroPortal
     template:
-      - name: mwgate-composer
       - name: extension-gate
-      - name: mw-checks-test
       - name: mwgate-rake
       - name: mwgate-npm
 
diff --git a/zuul/parameter_functions.py b/zuul/parameter_functions.py
index c493c31..607b933 100644
--- a/zuul/parameter_functions.py
+++ b/zuul/parameter_functions.py
@@ -385,6 +385,11 @@
         'mediawiki/extensions/' + dep for dep in deps
     )
 
+    # So we can cd $EXT_NAME && composer test - T161895
+    split = params['ZUUL_PROJECT'].split('/')
+    if len(split) == 3 and split[1] == 'extensions':
+        params['EXT_NAME'] = split[-1]
+
 
 def nodepool_params(item, job, params):
     # Instruct Jenkins Gearman plugin to put a node offline on job completion.

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic960c80cf3901241408047df0a54eb5076e7a243
Gerrit-PatchSet: 1
Gerrit-Project: integration/config
Gerrit-Branch: master
Gerrit-Owner: Hashar <has...@free.fr>

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

Reply via email to