#!/usr/bin/env groovy /* * Copyright (C) 2019 - present Instructure, Inc. * * This file is part of Canvas. * * Canvas is free software: you can redistribute it and/or modify it under * the terms of the GNU Affero General Public License as published by the Free * Software Foundation, version 3 of the License. * * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more * details. * * You should have received a copy of the GNU Affero General Public License along * with this program. If not, see . */ library 'canvas-builds-library' def msg = "`${env.JOB_NAME}` Build ${env.BUILD_NUMBER}:\n${env.BUILD_URL}" pipeline { agent { label 'canvas-docker' } options { ansiColor('xterm') timestamps() } environment { COMPOSE_FILE = 'docker-compose.new-jenkins-package-translations.yml' } stages { stage('Setup') { steps { cleanAndSetup() } } stage('Sync Translations') { steps { withCredentials([ sshUserPrivateKey(credentialsId: '44aa91d6-ab24-498a-b2b4-911bcb17cc35', keyFileVariable: 'SSH_KEY_FILE', usernameVariable: 'SSH_USERNAME'), string(credentialsId: 'CANVAS_TRANSIFEX_TOKEN', variable: 'TRANSIFEX_TOKEN'), string(credentialsId: 'NPM_PRIVATE_PASSWORD', variable: 'NPM_PRIVATE_PASSWORD') ]) { sh 'build/new-jenkins/package-translations/sync-translations.sh' } } } } post { failure { slackSend channel: '#i18n', color: '#FF0000', message: "Failed Translations Job: $msg" } cleanup { script { libraryScript.execute 'bash/docker-cleanup.sh --allow-failure' } } } }