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

Change subject: RepoNG: Run gerrit merges serially
......................................................................

RepoNG: Run gerrit merges serially

This is slower, but at least it works. Gerrit seems to have a race
condition and it breaks if many merges are coming simultaneously.

Bug: T155558
Change-Id: Ife5314577c4d30c19ae003d35c8a46613afd0b39
---
M repoconfig.yaml
M repong/repong.php
2 files changed, 21 insertions(+), 13 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/translatewiki 
refs/changes/75/395475/1

diff --git a/repoconfig.yaml b/repoconfig.yaml
index 6907ef3..e0f0171 100644
--- a/repoconfig.yaml
+++ b/repoconfig.yaml
@@ -51,6 +51,7 @@
 
 crosswatch:
   group: crosswatch
+  auto-merge: labs/tools/crosswatch
   repos:
     crosswatch:
       type: wmgerrit
@@ -101,6 +102,7 @@
 
 gapfinder:
   group: gapfinder
+  auto-merge: research/recommendation-api
   repos:
     recommendation-api:
       type: wmgerrit
@@ -179,6 +181,7 @@
 
 intuition-tools:
   group: int-*
+  auto-merge: ^research/recommendation-api|labs/tools/guc|tools/heritage
   repos:
     int-dcatap:
       type: wmgerrit
@@ -256,6 +259,7 @@
   no-export-languages: 
test,aeb,be-x-old,crh,dk,en,fiu-vro,gan,gom,hif,kbd,kk,kk-cn,iu,kk-kz,kk-tr,ko-kp,ku,ku-arab,no,ruq,simple,sr,tg,tp,tt,ug,zh,zh-classical,zh-cn,zh-sg,zh-hk,zh-min-nan,zh-mo,zh-my,zh-tw,zh-yue,bbc,ady
   export-threshold: 13
   group: core,ext-installer,mediawiki-api
+  auto-merge: mediawiki/core
   repos:
     mediawiki/master:
       type: wmgerrit
@@ -267,6 +271,7 @@
   no-export-languages: 
test,aeb,be-x-old,crh,dk,en,fiu-vro,gan,gom,hif,kbd,kk,kk-cn,iu,kk-kz,kk-tr,ko-kp,ku,ku-arab,no,ruq,simple,sr,tg,tp,tt,ug,zh,zh-classical,zh-cn,zh-sg,zh-hk,zh-min-nan,zh-mo,zh-my,zh-tw,zh-yue,bbc,ady
   export-threshold: 0
   group: ext-*
+  auto-merge: ^mediawiki/extensions/.*
   repos:
     '@generator': php ../groups/MediaWiki/repong-generator.php extensions
 
@@ -275,6 +280,7 @@
   no-export-languages: 
test,aeb,be-x-old,crh,dk,en,fiu-vro,gan,gom,hif,kbd,kk,kk-cn,iu,kk-kz,kk-tr,ko-kp,ku,ku-arab,no,ruq,simple,sr,tg,tp,tt,ug,zh,zh-classical,zh-cn,zh-sg,zh-hk,zh-min-nan,zh-mo,zh-my,zh-tw,zh-yue,bbc,ady
   export-threshold: 0
   group: mediawiki-skin-*
+  auto-merge: ^mediawiki/skins/.*
   repos:
     '@generator': php ../groups/MediaWiki/repong-generator.php skins
 
@@ -290,6 +296,7 @@
 
 mwgerrit:
   group: mwgerrit-*
+  auto-merge: ^data-values/value-view|oojs/ui|VisualEditor/VisualEditor
   repos:
     mwgerrit/data-values/value-view:
       type: wmgerrit
@@ -474,6 +481,7 @@
 
 proveit:
   group: proveit
+  auto-merge: wikipedia/gadgets/ProveIt
   repos:
     proveit:
       type: wmgerrit
@@ -483,6 +491,7 @@
 pywikibot:
   group: out-pywikipedia-*
   export-threshold: 1
+  auto-merge: pywikibot/i18n
   repos:
     pywikibot:
       type: wmgerrit
@@ -536,6 +545,7 @@
 
 wikidata:
   group: wikidata-*
+  auto-merge: wikidata/query/gui
   repos:
     wikidata/query/gui:
       type: wmgerrit
@@ -553,6 +563,7 @@
 
 wikimania:
   group: out-wikimania-scholarships-app
+  auto-merge: wikimedia/wikimania-scholarships
   repos:
     wikimania:
       type: wmgerrit
@@ -561,6 +572,7 @@
 
 wikimedia-portals:
   group: wikimedia-portals
+  auto-merge: wikimedia/portals
   repos:
     wikimedia-portals:
       type: wmgerrit
@@ -581,7 +593,6 @@
     wikipedia-android:
       type: wmgerrit
       url: https://gerrit.wikimedia.org/r/apps/android/wikipedia
-      auto-merge: false
       url|export: 
ssh://[email protected]:29418/apps/android/wikipedia
 
 wikipedia-ios:
diff --git a/repong/repong.php b/repong/repong.php
index 8e37947..ac7462d 100644
--- a/repong/repong.php
+++ b/repong/repong.php
@@ -427,21 +427,18 @@
                        $process->setTimeout( 120 );
                        $process->setWorkingDirectory( $base );
                        $processes->attach( $process );
-
-                       $autoMerge = $repo['auto-merge'] ?? true;
-
-                       // Merge patch sets submitted to Wikimedia's Gerrit.
-                       if ( $repo['type'] === 'wmgerrit' && $autoMerge ) {
-                               $project = str_replace( 
'ssh://[email protected]:29418/', '', $repo['url'] );
-                               $command = $this->bindir . 
"/merge-wmgerrit-patches '$project'";
-
-                               $mergeProcess = new Process( $command );
-                               $mergeProcess->setTimeout( 120 );
-                               $processes->attach( $mergeProcess, $process );
-                       }
                }
 
                $this->runParallelWithOutput( $processes, $output );
+
+               // Merge patch sets submitted to Wikimedia's Gerrit.
+               $mergePattern = $config[ 'auto-merge' ] ?? false;
+               if ( $repo['type'] === 'wmgerrit' && $mergePattern ) {
+                       $command = $this->bindir . "/merge-wmgerrit-patches 
'$mergePattern'";
+                       $mergeProcess = new Process( $command );
+                       $mergeProcess->setTimeout( 600 );
+                       $mergeProcess->mustRun();
+               }
        }
 }
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ife5314577c4d30c19ae003d35c8a46613afd0b39
Gerrit-PatchSet: 1
Gerrit-Project: translatewiki
Gerrit-Branch: master
Gerrit-Owner: Nikerabbit <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to