diff --git a/gerrit/projects.yaml b/gerrit/projects.yaml index 5c7ec9a4e3..def38365c5 100755 --- a/gerrit/projects.yaml +++ b/gerrit/projects.yaml @@ -4617,6 +4617,8 @@ - project: openstack/i18n groups: - openstack-i18n + options: + - translate description: Utilities, assets and configrations used by I18n team - project: openstack/i18n-specs groups: diff --git a/jenkins/jobs/projects.yaml b/jenkins/jobs/projects.yaml index b18037f9f9..41779bbf37 100644 --- a/jenkins/jobs/projects.yaml +++ b/jenkins/jobs/projects.yaml @@ -5449,6 +5449,7 @@ - gate-{name}-docs-{node}: node: ubuntu-xenial - gate-{name}-requirements + - translation-jobs - project: name: i18n-specs diff --git a/jenkins/scripts/common_translation_update.sh b/jenkins/scripts/common_translation_update.sh index 9f728820f5..ce93604bca 100644 --- a/jenkins/scripts/common_translation_update.sh +++ b/jenkins/scripts/common_translation_update.sh @@ -247,6 +247,21 @@ function setup_training_guides { -f zanata.xml } +# Setup a i18n project for Zanata +function setup_i18n { + local project=i18n + local version=${1:-master} + + # Update the .pot file + tox -e generatepot + + /usr/local/jenkins/slave_scripts/create-zanata-xml.py \ + -p $project -v $version \ + --srcdir doc/source/locale \ + --txdir doc/source/locale \ + -f zanata.xml +} + # Setup a ReactJS project for Zanata function setup_reactjs_project { local project=$1 diff --git a/jenkins/scripts/propose_translation_update.sh b/jenkins/scripts/propose_translation_update.sh index 1b6951ef20..5260d50fe7 100755 --- a/jenkins/scripts/propose_translation_update.sh +++ b/jenkins/scripts/propose_translation_update.sh @@ -106,6 +106,19 @@ function propose_training_guides { git_add_po_files doc/upstream-training/source/locale } +# Propose updates for i18n +function propose_i18n { + + # Pull updated translations from Zanata. + pull_from_zanata "$PROJECT" + + # Cleanup po and pot files + cleanup_module "doc" + + # Add all changed files to git + git_add_po_files doc/source/locale +} + # Propose updates for python and django projects function propose_python_django { @@ -264,6 +277,10 @@ case "$PROJECT" in setup_training_guides "$ZANATA_VERSION" propose_training_guides ;; + i18n) + setup_i18n "$ZANATA_VERSION" + propose_i18n + ;; tripleo-ui) setup_reactjs_project "$PROJECT" "$ZANATA_VERSION" propose_reactjs diff --git a/jenkins/scripts/upstream_translation_update.sh b/jenkins/scripts/upstream_translation_update.sh index 821af7f594..d2ef29b4e3 100755 --- a/jenkins/scripts/upstream_translation_update.sh +++ b/jenkins/scripts/upstream_translation_update.sh @@ -68,6 +68,10 @@ case "$PROJECT" in setup_training_guides "$ZANATA_VERSION" ALL_MODULES="doc" ;; + i18n) + setup_i18n "$ZANATA_VERSION" + ALL_MODULES="doc" + ;; tripleo-ui) setup_reactjs_project "$PROJECT" "$ZANATA_VERSION" # The pot file is generated in the ./i18n directory diff --git a/zuul/layout.yaml b/zuul/layout.yaml index 4caa16ed26..964196cf3d 100755 --- a/zuul/layout.yaml +++ b/zuul/layout.yaml @@ -10757,6 +10757,7 @@ projects: - name: openstack/i18n template: - name: merge-check + - name: translation-jobs - name: check-requirements - name: openstack-server-publish-jobs check: