jenkins-bot has submitted this change and it was merged.

Change subject: Filter out refs/meta/config from all pipelines
......................................................................


Filter out refs/meta/config from all pipelines

The branch filtering has to be done at the pipeline event level.

Adjust the test suite so that each change has a branch and populate the
event.branch with that (that is done by Zuul when it is handling an
event but we dont call that code path).

Bug: T52389
Change-Id: I6a2b3a76ccd5468eb02988c4ede312eb136abaeb
---
M tests/test_zuul_scheduler.py
M zuul/layout.yaml
2 files changed, 81 insertions(+), 2 deletions(-)

Approvals:
  Paladox: Looks good to me, but someone else must approve
  Hashar: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/tests/test_zuul_scheduler.py b/tests/test_zuul_scheduler.py
index f16511b..ebde837 100644
--- a/tests/test_zuul_scheduler.py
+++ b/tests/test_zuul_scheduler.py
@@ -331,133 +331,196 @@
 
     def test_recheck_comment_trusted_user(self):
         test_manager = self.getPipeline('test').manager
+
         change = zuul.model.Change('mediawiki/core')
+        change.branch = 'master'
 
         event = zuul.model.TriggerEvent()
         event.type = 'comment-added'
         event.comment = 'Patch Set 1:\n\nrecheck'
         event.account = {'email': 'j...@wikimedia.org'}
+        event.branch = change.branch
+
         self.assertTrue(test_manager.eventMatches(event, change))
 
     def test_recheck_comment_untrusted_user(self):
         test_manager = self.getPipeline('test').manager
         change = zuul.model.Change('mediawiki/core')
+        change.branch = 'master'
 
         event = zuul.model.TriggerEvent()
         event.type = 'comment-added'
         event.comment = 'Patch Set 1:\n\nrecheck'
         event.account = {'email': 'untrus...@example.org'}
+        event.branch = change.branch
+
         self.assertFalse(test_manager.eventMatches(event, change))
 
     def test_recheck_comment_untrusted_user_with_code_review(self):
         test_manager = self.getPipeline('test').manager
+
         change = zuul.model.Change('mediawiki/core')
+        change.branch = 'master'
 
         event = zuul.model.TriggerEvent()
         event.type = 'comment-added'
         event.comment = 'Patch Set 1: -Code-Review\n\nrecheck'
         event.account = {'email': 'untrus...@example.org'}
+        event.branch = change.branch
+
         self.assertFalse(test_manager.eventMatches(event, change))
 
     def test_recheck_with_code_review_vote_removed(self):
         test_manager = self.getPipeline('test').manager
+
         change = zuul.model.Change('mediawiki/core')
+        change.branch = 'master'
+
         event = zuul.model.TriggerEvent()
         event.type = 'comment-added'
         event.comment = 'Patch Set 1: -Code-Review\n\nrecheck'
         event.account = {'email': 'j...@wikimedia.org'}
+        event.branch = change.branch
+
         self.assertTrue(test_manager.eventMatches(event, change))
 
     def test_recheck_with_verified_vote_removed(self):
         test_manager = self.getPipeline('test').manager
+
         change = zuul.model.Change('mediawiki/core')
+        change.branch = 'master'
+
         event = zuul.model.TriggerEvent()
         event.type = 'comment-added'
         event.comment = 'Patch Set 1: -Verified\n\nrecheck'
         event.account = {'email': 'j...@wikimedia.org'}
+        event.branch = change.branch
+
         self.assertFalse(test_manager.eventMatches(event, change))
 
     def test_recheck_with_code_review_vote_plus_one(self):
         test_manager = self.getPipeline('test').manager
+
         change = zuul.model.Change('mediawiki/core')
+        change.branch = 'master'
+
         event = zuul.model.TriggerEvent()
         event.type = 'comment-added'
         event.comment = 'Patch Set 1: Code-Review+1\n\nrecheck'
         event.account = {'email': 'j...@wikimedia.org'}
+        event.branch = change.branch
+
         self.assertTrue(test_manager.eventMatches(event, change))
 
     def test_recheck_with_code_review_vote_plus_two(self):
         test_manager = self.getPipeline('test').manager
+
         change = zuul.model.Change('mediawiki/core')
+        change.branch = 'master'
+
         event = zuul.model.TriggerEvent()
         event.type = 'comment-added'
         event.comment = 'Patch Set 1: Code-Review+2\n\nrecheck'
         event.account = {'email': 'j...@wikimedia.org'}
+        event.branch = change.branch
+
         self.assertTrue(test_manager.eventMatches(event, change))
 
     def test_recheck_with_code_review_vote_minus_one(self):
         test_manager = self.getPipeline('test').manager
+
         change = zuul.model.Change('mediawiki/core')
+        change.branch = 'master'
+
         event = zuul.model.TriggerEvent()
         event.type = 'comment-added'
         event.comment = 'Patch Set 1: Code-Review-1\n\nrecheck'
         event.account = {'email': 'j...@wikimedia.org'}
+        event.branch = change.branch
+
         self.assertTrue(test_manager.eventMatches(event, change))
 
     def test_recheck_with_code_review_vote_minus_two(self):
         test_manager = self.getPipeline('test').manager
+
         change = zuul.model.Change('mediawiki/core')
+        change.branch = 'master'
+
         event = zuul.model.TriggerEvent()
         event.type = 'comment-added'
         event.comment = 'Patch Set 1: Code-Review-2\n\nrecheck'
         event.account = {'email': 'j...@wikimedia.org'}
+        event.branch = change.branch
+
         self.assertTrue(test_manager.eventMatches(event, change))
 
     def test_recheck_with_verified_vote_minus_two(self):
         test_manager = self.getPipeline('test').manager
+
         change = zuul.model.Change('mediawiki/core')
+        change.branch = 'master'
+
         event = zuul.model.TriggerEvent()
         event.type = 'comment-added'
         event.comment = 'Patch Set 1: Verified-2\n\nrecheck'
         event.account = {'email': 'j...@wikimedia.org'}
+        event.branch = change.branch
+
         self.assertFalse(test_manager.eventMatches(event, change))
 
     def test_recheck_with_verified_vote_minus_one(self):
         test_manager = self.getPipeline('test').manager
+
         change = zuul.model.Change('mediawiki/core')
+        change.branch = 'master'
+
         event = zuul.model.TriggerEvent()
         event.type = 'comment-added'
         event.comment = 'Patch Set 1: Verified-1\n\nrecheck'
         event.account = {'email': 'j...@wikimedia.org'}
+        event.branch = change.branch
+
         self.assertFalse(test_manager.eventMatches(event, change))
 
     def test_recheck_with_verified_vote_plus_one(self):
         test_manager = self.getPipeline('test').manager
+
         change = zuul.model.Change('mediawiki/core')
+        change.branch = 'master'
+
         event = zuul.model.TriggerEvent()
         event.type = 'comment-added'
         event.comment = 'Patch Set 1: Verified+1\n\nrecheck'
         event.account = {'email': 'j...@wikimedia.org'}
+        event.branch = change.branch
+
         self.assertFalse(test_manager.eventMatches(event, change))
 
     def test_recheck_with_verified_vote_plus_2(self):
         test_manager = self.getPipeline('test').manager
+
         change = zuul.model.Change('mediawiki/core')
+        change.branch = 'master'
+
         event = zuul.model.TriggerEvent()
         event.type = 'comment-added'
         event.comment = 'Patch Set 1: Verified+2\n\nrecheck'
         event.account = {'email': 'j...@wikimedia.org'}
+        event.branch = change.branch
+
         self.assertFalse(test_manager.eventMatches(event, change))
 
     def test_pipelines_trustiness(self):
         check_manager = self.getPipeline('check').manager
         test_manager = self.getPipeline('test').manager
         change = zuul.model.Change('mediawiki/core')
+        change.branch = 'master'
 
         # Untrusted user
         untrusted_event = zuul.model.TriggerEvent()
         untrusted_event.type = 'patchset-created'
         untrusted_event.account = {'email': 'untrus...@example.org'}
+        untrusted_event.branch = change.branch
         self.assertTrue(check_manager.eventMatches(untrusted_event, change))
         self.assertFalse(test_manager.eventMatches(untrusted_event, change))
 
@@ -465,16 +528,19 @@
         trusted_event = zuul.model.TriggerEvent()
         trusted_event.type = 'patchset-created'
         trusted_event.account = {'email': 'j...@wikimedia.org'}
+        trusted_event.branch = change.branch
         self.assertFalse(check_manager.eventMatches(trusted_event, change))
         self.assertTrue(test_manager.eventMatches(trusted_event, change))
 
     def test_donationinterface_deployment_branch_filters(self):
         test_manager = self.getPipeline('test').manager
-        event = zuul.model.TriggerEvent()
-        event.type = 'patchset-created'
 
         change = zuul.model.Change('mediawiki/extensions/DonationInterface')
         change.branch = 'deployment'
+
+        event = zuul.model.TriggerEvent()
+        event.type = 'patchset-created'
+        event.branch = change.branch
 
         jobs_tree = [t for (p, t) in
                      self.getPipeline('test').job_trees.iteritems()
@@ -510,6 +576,7 @@
                         job.name, change.branch)
                 )
 
+        event.branch = change.branch
         self.assertTrue(test_manager.eventMatches(event, change))
 
     # FIXME: should be more generic
@@ -540,6 +607,7 @@
 
         for allowed_branch in ['master', 'REL1_25', 'REL1_26']:
             change = change_for_branch(allowed_branch)
+            event.branch = change.branch
             self.assertTrue(test_manager.eventMatches(event, change))
             self.assertTrue(rake_jessie_job.changeMatches(change),
                             'mediawiki/core rake-jessie job must run on %s'
@@ -548,6 +616,7 @@
         for blacklisted_branch in ['REL1_23', 'REL1_24',
                                    'fundraising/REL1_42']:
             change = change_for_branch(blacklisted_branch)
+            event.branch = change.branch
             self.assertTrue(test_manager.eventMatches(event, change))
             self.assertFalse(
                 rake_jessie_job.changeMatches(change),
@@ -598,10 +667,12 @@
         managers = [self.getPipeline(p).manager
                     for p in ['check', 'check-only', 'check-voter', 'test']]
         change = zuul.model.Change('mediawiki/core')
+        change.branch = 'master'
 
         l10n_event = zuul.model.TriggerEvent()
         l10n_event.type = 'patchset-created'
         l10n_event.account = {'email': 'l10n-...@translatewiki.net'}
+        l10n_event.branch = change.branch
 
         [self.assertFalse(manager.eventMatches(l10n_event, change),
                           'l10-bot should not enter %s pipeline' %
@@ -629,6 +700,7 @@
     def test_trusted_cr_vote_tests_untested_change(self):
         test_manager = self.getPipeline('test').manager
         change = zuul.model.Change('mediawiki/core')
+        change.branch = 'master'
         change.approvals = [
             {'description': 'Verified',
              'type': 'VRFY',
@@ -652,6 +724,7 @@
              'by': {'email': 'unstrus...@example.org'},
              },
         ]
+        event.branch = change.branch
         self.assertFalse(test_manager.eventMatches(event, change))
 
         event = zuul.model.TriggerEvent()
@@ -663,6 +736,7 @@
              'value': '1',
              },
         ]
+        event.branch = change.branch
         self.assertTrue(test_manager.eventMatches(event, change))
 
     def test_gated_extensions_are_both_in_jjb_and_zuul(self):
diff --git a/zuul/layout.yaml b/zuul/layout.yaml
index 0d69e6b..f1d5280 100644
--- a/zuul/layout.yaml
+++ b/zuul/layout.yaml
@@ -283,6 +283,7 @@
     trigger:
       gerrit:
         - event: patchset-created
+          branch: (?!^refs/meta/config)
 
           # BEWARE:
           # - Make sure to use non greedy selectors (.*?) and to escape dots: 
\.
@@ -491,12 +492,14 @@
         # Let whitelisted users the ability to reenqueue a change in the test
         # pipeline by simply commenting 'recheck' on a change.
         - event: comment-added
+          branch: (?!^refs/meta/config)
           comment: (?im)^Patch Set \d+:( 
-?Code\-Review(\+|-)?(1|2)?)?\n\n\s*recheck\.?\s*$
           email: *email_whitelist
 
         # Let whitelisted users CR+1 to trigger tests for an untested patch
         # (Verified 0 or 1)
         - event: comment-added
+          branch: (?!^refs/meta/config$)
           require-approval:
             # hasn't been tested yet
             - verified: [0, 1]
@@ -566,6 +569,7 @@
     trigger:
       gerrit:
         - event: comment-added
+          branch: (?!^refs/meta/config)
           email:
            - ^(?!l10n-bot@translatewiki\.net).*$
           approval:
@@ -591,6 +595,7 @@
     trigger:
       gerrit:
         - event: change-merged
+          branch: (?!^refs/meta/config)
     success-message: 'Post-merge build succeeded.'
     # Zuul needs at least one option beside --message or it will not report
     # Since Gerrit 2.8, we can vote on closed changes.

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I6a2b3a76ccd5468eb02988c4ede312eb136abaeb
Gerrit-PatchSet: 2
Gerrit-Project: integration/config
Gerrit-Branch: master
Gerrit-Owner: Hashar <has...@free.fr>
Gerrit-Reviewer: Hashar <has...@free.fr>
Gerrit-Reviewer: Paladox <thomasmulhall...@yahoo.com>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to