From 2037fdabc03a22f95e4de4695b3547aafb6c9076 Mon Sep 17 00:00:00 2001 From: David Lyle Date: Tue, 27 Jan 2015 08:56:21 -0700 Subject: [PATCH] Adding review clean up script This is modeled after the nova script to do the same thing. Removes reviews over 4 weeks old that are either failing Jenkins or have a -2. Change-Id: I636738c873c1b64ba1aa24fd7643b2fac9b1975b --- tools/abandon_old_reviews.sh | 83 ++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100755 tools/abandon_old_reviews.sh diff --git a/tools/abandon_old_reviews.sh b/tools/abandon_old_reviews.sh new file mode 100755 index 0000000000..96c566e51c --- /dev/null +++ b/tools/abandon_old_reviews.sh @@ -0,0 +1,83 @@ +#!/bin/bash +# +# 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. +# +# +# +# before you run this modify your .ssh/config to create a +# review.openstack.org entry: +# +# Host review.openstack.org +# User +# Port 29418 +# + +# Note: due to gerrit bug somewhere, this double posts messages. :( + +# first purge the all reviews that are more than 4w old and blocked by a core -2 + +set -o errexit + +function abandon_review { + local gitid=$1 + shift + local msg=$@ + echo "Abandoning $gitid" + # echo ssh review.openstack.org gerrit review $gitid --abandon --message \"$msg\" + ssh review.openstack.org gerrit review $gitid --abandon --message \"$msg\" +} + +PROJECTS="(project:openstack/horizon OR project:openstack/django_openstack_auth)" + +blocked_reviews=$(ssh review.openstack.org "gerrit query --current-patch-set --format json $PROJECTS status:open age:4w label:Code-Review<=-2" | jq .currentPatchSet.revision | grep -v null | sed 's/"//g') + +blocked_msg=$(cat < 4 weeks without comment and currently blocked by a +core reviewer with a -2. We are abandoning this for now. + +Feel free to reactivate the review by pressing the restore button and +contacting the reviewer with the -2 on this review to ensure you +address their concerns. + +EOF +) + +# For testing, put in a git rev of something you own and uncomment +# blocked_reviews="b6c4218ae4d75b86c33fa3d37c27bc23b46b6f0f" + +for review in $blocked_reviews; do + # echo ssh review.openstack.org gerrit review $review --abandon --message \"$msg\" + echo "Blocked review $review" + abandon_review $review $blocked_msg +done + +# then purge all the reviews that are > 4w with no changes and Jenkins has -1ed + +failing_reviews=$(ssh review.openstack.org "gerrit query --current-patch-set --format json $PROJECTS status:open age:4w NOT label:Verified>=1,jenkins" | jq .currentPatchSet.revision | grep -v null | sed 's/"//g') + +failing_msg=$(cat < 4 weeks without comment, and failed Jenkins the last +time it was checked. We are abandoning this for now. + +Feel free to reactivate the review by pressing the restore button and +leaving a 'recheck' comment to get fresh test results. + +EOF +) + +for review in $failing_reviews; do + echo "Failing review $review" + abandon_review $review $failing_msg +done