diff --git a/modules/jenkins/files/slave_scripts/upstream_translation_horizon.sh b/modules/jenkins/files/slave_scripts/upstream_translation_horizon.sh new file mode 100755 index 0000000000..5050b22aef --- /dev/null +++ b/modules/jenkins/files/slave_scripts/upstream_translation_horizon.sh @@ -0,0 +1,57 @@ +#!/bin/bash -xe + +# Copyright 2014 IBM Corp. +# +# 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. + +# The script is to push the updated English po to Transifex. + +PROJECT="horizon" + +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 +# Horizon JavaScript Translations +tx set --auto-local -r ${PROJECT}.${PROJECT}-js-translations \ +"${PROJECT}/locale//LC_MESSAGES/djangojs.po" --source-lang en \ +--source-file ${PROJECT}/locale/en/LC_MESSAGES/djangojs.po -t PO --execute +# Horizon Translations +tx set --auto-local -r ${PROJECT}.${PROJECT}-translations \ +"${PROJECT}/locale//LC_MESSAGES/django.po" --source-lang en \ +--source-file ${PROJECT}/locale/en/LC_MESSAGES/django.po -t PO --execute +# OpenStack Dashboard Translations +tx set --auto-local -r ${PROJECT}.openstack-dashboard-translations \ +"openstack_dashboard/locale//LC_MESSAGES/django.po" --source-lang en \ +--source-file openstack_dashboard/locale/en/LC_MESSAGES/django.po -t PO --execute + +# Invoke run_tests.sh to update the po files +# Or else, "../manage.py makemessages" can be used. +./run_tests.sh --makemessages + +# Add all changed files to git +git add ${PROJECT}/locale/en/LC_MESSAGES/* +git add openstack_dashboard/locale/en/LC_MESSAGES/* + +if [ `git diff --cached | egrep -v "(POT-Creation-Date|^[\+\-]#|^\+{3}|^\-{3})" | egrep -c "^[\-\+]"` -gt 0 ] ] +then + # Push source file changes to transifex + tx --debug --traceback push -s +fi + diff --git a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml index 0425bee2e8..d9a91dae89 100644 --- a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml +++ b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml @@ -598,6 +598,7 @@ - python-jobs - openstack-publish-jobs - pypi-jobs + - translation-jobs - project: diff --git a/modules/openstack_project/files/jenkins_job_builder/config/translation-jobs.yaml b/modules/openstack_project/files/jenkins_job_builder/config/translation-jobs.yaml index cd57b277f0..60447a7275 100644 --- a/modules/openstack_project/files/jenkins_job_builder/config/translation-jobs.yaml +++ b/modules/openstack_project/files/jenkins_job_builder/config/translation-jobs.yaml @@ -33,6 +33,21 @@ node: 'proposal' +- job: + name: 'horizon-upstream-translation-update' + concurrent: false + + builders: + - gerrit-git-prep + - shell: | + #!/bin/bash -xe + /usr/local/jenkins/slave_scripts/upstream_translation_horizon.sh + + publishers: + - console-log + + node: 'proposal' + - job: name: manuals-upstream-translation-update concurrent: false diff --git a/modules/openstack_project/files/zuul/layout.yaml b/modules/openstack_project/files/zuul/layout.yaml index 88e4fb0187..1664e46d35 100644 --- a/modules/openstack_project/files/zuul/layout.yaml +++ b/modules/openstack_project/files/zuul/layout.yaml @@ -844,6 +844,8 @@ projects: - gate-grenade-dsvm experimental: - gate-grenade-dsvm-forward + post: + - horizon-upstream-translation-update pre-release: - horizon-tarball release: @@ -1718,6 +1720,8 @@ projects: - name: python-jobs - name: openstack-client-publish-jobs - name: check-requirements + post: + - django_openstack_auth-upstream-translation-update pre-release: - django_openstack_auth-tarball release: