system-config/modules/jenkins/files/slave_scripts/upstream_translation_update.sh
Clark Boylan 7d018cc4b4 Push src and tx files to transifex separately.
Push the source (.pot) file independently of the translation (.po) files
so that we can disable set -e when pushing the .po files.

Previously pushing the .po files would fail the entire test if one of
the pushed files contained no translations. This would also prevent
other translation files from being pushed. Now push the .pot file
separately so that a failure pushing that file still fails the test, but
errors pushing the translation files can be ignored. Also add the --skip
option to the translation push which will allow all valid translations
to be pushed even if some fail.

Change-Id: I8958c29113ce5d21a0b281ee13abe94d477fb04c
Reviewed-on: https://review.openstack.org/13385
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
2012-09-20 20:53:33 +00:00

38 lines
1.1 KiB
Bash
Executable File

#!/bin/bash -xe
PROJECT=$1
if [ ! `echo $ZUUL_REFNAME | grep master` ]
then
exit 0
fi
git config user.name "OpenStack Jenkins"
git config user.email "jenkins@openstack.org"
# initialize transifex client
tx init --host=https://www.transifex.com
tx set --auto-local -r ${PROJECT}.${PROJECT}-translations "${PROJECT}/locale/<lang>/LC_MESSAGES/${PROJECT}.po" --source-lang en --source-file ${PROJECT}/locale/${PROJECT}.pot --execute
# Pull all upstream translations
tx pull -a
# Update the .pot file
python setup.py extract_messages
# Use updated .pot file to update translations
python setup.py update_catalog
# Add all changed files to git
git add $PROJECT/locale/*
if [ ! `git diff-index --quiet HEAD --` ]
then
# Push .pot changes to transifex
tx --debug --traceback push -s
# Push translation changes to transifex
# Disable -e as we can live with failed translation pushes (failures
# occur when a translation file has no translations in it not really
# error worthy but they occur)
set +e
tx --debug --traceback push -t --skip
set -e
fi