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