From c1dc203aba07f998ce04cb7bb17cb9e7b8b4fbbc Mon Sep 17 00:00:00 2001 From: Akihiro Motoki Date: Thu, 27 Jul 2017 23:19:54 +0000 Subject: [PATCH] Add a check if a proposed team member list is current It is a boring job to review a patch to update the team member list. To avoid this, this commit proposes a bit improved approach. - When you want to propose an update of the team member list, you need to sync all members with Zanata. If you want to add you, you need to propose a latest member list. The new list may contains someone other than you. - pep8 job checks a proposed member list is up-to-date. If not, the job fails. To make it easy to sync all members with Zanata, a tox target 'zanata-users-sync' is added. To download the latest member list of all language teams, just run: tox -e zanata-users-sync Change-Id: I393a6b77261f6a3d7788a4c4f57bd6fdc95b5146 --- tools/check-zanata-users-list.sh | 32 ++++++++++++++++++++++++++++++++ tox.ini | 5 +++++ 2 files changed, 37 insertions(+) create mode 100755 tools/check-zanata-users-list.sh diff --git a/tools/check-zanata-users-list.sh b/tools/check-zanata-users-list.sh new file mode 100755 index 0000000..3f9f0e8 --- /dev/null +++ b/tools/check-zanata-users-list.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +set -ex + +TEAM_LIST=tools/zanata/translation_team.yaml + +# This is to detect the change of the team list location. +# It is just a safe guard. +if [ ! -f $TEAM_LIST ]; then + echo "$TEAM_LIST not found. Something wrong." + exit 1 +fi + +if ! git diff --name-only HEAD^ | grep -q $TEAM_LIST; then + echo "The recent commit does not touch $TEAM_LIST, so skipping the check." + exit 0 +fi + +TMPFILE=`mktemp` +trap "rm -f $TMPFILE" EXIT + +python tools/zanata/zanata_users.py --output-file $TMPFILE +if ! diff -u $TEAM_LIST $TMPFILE; then + set -x + cat <