Dzahn has submitted this change and it was merged. Change subject: zuul: Add zuul-test-repo helper script ......................................................................
zuul: Add zuul-test-repo helper script zuul-test-repo is a small helper script I've had sitting in my home directory for a few months now. It is a wrapper around the `zuul` command that lets you easily trigger jobs in a specific zuul pipeline for a repository, usually after changing the job definition. Usage is like: zuul-test-repo oojs/ui zuul-test-repo ext:MassMessage # For MediaWiki extensions zuul-test-repo mediawiki/core postmerge Change-Id: I735dad7e8ddcb90926d4ecb96e0287ac63ac5995 --- A modules/zuul/files/zuul-test-repo.py M modules/zuul/manifests/server.pp 2 files changed, 61 insertions(+), 0 deletions(-) Approvals: Hashar: Looks good to me, but someone else must approve Zfilipin: Looks good to me, but someone else must approve JanZerebecki: Looks good to me, but someone else must approve jenkins-bot: Verified Dzahn: Looks good to me, approved diff --git a/modules/zuul/files/zuul-test-repo.py b/modules/zuul/files/zuul-test-repo.py new file mode 100644 index 0000000..8b1b94d --- /dev/null +++ b/modules/zuul/files/zuul-test-repo.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python2 +"""Easily trigger zuul pipelines for a Gerrit repository.""" +# Copyright 2015 Legoktm +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from __future__ import print_function + +import json +import requests +import subprocess +import sys + +if len(sys.argv) < 2: + print('Usage: zuul-test-repo repository [pipeline]') + sys.exit(1) + +repo = sys.argv[1] +try: + pipeline = sys.argv[2] +except IndexError: + pipeline = 'test' + +# Allow "ext:MassMessage" as shorthand +if repo.startswith('ext:'): + repo = 'mediawiki/extensions/' + repo.split(':', 1)[1] + +# Fetch the latest change for the repo from the Gerrit API +r = requests.get('https://gerrit.wikimedia.org/r/changes/?' + 'q=status:merged+project:%s&n=1&o=CURRENT_REVISION' % repo) +data = json.loads(r.text[4:]) +if not data: + print('Error, could not find any changes in %s.' % repo) + sys.exit(1) +change = data[0] +change_number = change['_number'] +patchset = change['revisions'][change['current_revision']]['_number'] +print('Going to test %s@%s,%s' % (repo, change_number, patchset)) +subprocess.call(['zuul', 'enqueue', + '--trigger', 'gerrit', + '--pipeline', pipeline, + '--project', repo, + '--change', '%s,%s' % (change_number, patchset)]) diff --git a/modules/zuul/manifests/server.pp b/modules/zuul/manifests/server.pp index 4ac899f..b59a9ac 100644 --- a/modules/zuul/manifests/server.pp +++ b/modules/zuul/manifests/server.pp @@ -77,6 +77,14 @@ source => 'puppet:///modules/zuul/zuul-gearman.py', } + file { '/usr/local/bin/zuul-test-repo': + ensure => present, + owner => 'root', + group => 'root', + mode => '0555', + source => 'puppet:///modules/zuul/zuul-test-repo.py', + } + # Additionally provide a publicly readeable configuration file exec { 'craft public zuul conf': cwd => '/etc/zuul/', -- To view, visit https://gerrit.wikimedia.org/r/247031 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I735dad7e8ddcb90926d4ecb96e0287ac63ac5995 Gerrit-PatchSet: 2 Gerrit-Project: operations/puppet Gerrit-Branch: production Gerrit-Owner: Legoktm <legoktm.wikipe...@gmail.com> Gerrit-Reviewer: Andrew Bogott <abog...@wikimedia.org> Gerrit-Reviewer: Dduvall <dduv...@wikimedia.org> Gerrit-Reviewer: Dzahn <dz...@wikimedia.org> Gerrit-Reviewer: Hashar <has...@free.fr> Gerrit-Reviewer: JanZerebecki <jan.wikime...@zerebecki.de> Gerrit-Reviewer: Zfilipin <zfili...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits