pipeline { agent { label "master" } options { timestamps() } stages { stage('Cleaning') { steps { sh('cd translate && git checkout -- . && git clean -fd || true') sh('cd freebsd-doc-es && git checkout -- . && git clean -fd || true') sh('cd freebsd-doc && git checkout -- . && git clean -fd || true') } } stage('Fetching repositories') { steps { dir('translate') { git url: 'https://github.com/doc-br/translate.git' } dir('freebsd-doc-es') { git url: 'https://gitlab.com/fug-es/doc-es.git' } dir('freebsd-doc') { git url: 'https://github.com/doc-br/freebsd-doc.git' } } } stage('Copying es_ES directory into freebsd-doc') { steps { sh('cp -aRfv freebsd-doc-es/es_ES.ISO8859-1/* freebsd-doc/es_ES.ISO8859-1/') } } stage('Copying .po files') { steps { sh('ZANATA_LOCALE="es_ES" sh translate/scripts/ci/copy_zanata_to_doc.sh translate freebsd-doc/es_ES.ISO8859-1') } } stage('Building') { steps { sh('sh translate/scripts/ci/doc_translate.sh freebsd-doc/es_ES.ISO8859-1') sh('cd freebsd-doc/es_ES.ISO8859-1 && DOCDIR=/usr/local/www/apache24/data/jenkins/weblate-es_ES-$BUILD_NUMBER make install clean') sh('cp /usr/local/jenkins/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log /usr/local/www/apache24/data/jenkins/weblate-es_ES-$BUILD_NUMBER/$JOB_NAME-$BUILD_NUMBER.log') } } } post { success { echo 'success' } failure { echo 'failure' emailext body: "Check console output at ${env.BUILD_URL}", subject: "[Weblate Jenkins] Build failed ${env.JOB_NAME} #${env.BUILD_NUMBER}", to: 'freebsd-translators@freebsd.org' } changed { echo 'changed' script { if (currentBuild.getPreviousBuild().result == 'FAILURE') { echo 'changed' emailext body: "Check console output at ${env.BUILD_URL}", subject: "[Weblate Jenkins] ${env.JOB_NAME} back to normal", to: 'freebsd-translators@freebsd.org' } } } } }