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': '[email protected]'}
+ 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': '[email protected]'}
+ 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': '[email protected]'}
+ 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': '[email protected]'}
+ 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': '[email protected]'}
+ 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': '[email protected]'}
+ 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': '[email protected]'}
+ 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': '[email protected]'}
+ 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': '[email protected]'}
+ 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': '[email protected]'}
+ 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': '[email protected]'}
+ 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': '[email protected]'}
+ 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': '[email protected]'}
+ 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': '[email protected]'}
+ 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': '[email protected]'}
+ 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': '[email protected]'}
+ 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': '[email protected]'},
},
]
+ 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 <[email protected]>
Gerrit-Reviewer: Hashar <[email protected]>
Gerrit-Reviewer: Paladox <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits