| #!/usr/bin/env groovy |
| //------------------------------------------------------------------------------- |
| // Copyright (c) 2020, Arm Limited and Contributors. All rights reserved. |
| // |
| // SPDX-License-Identifier: BSD-3-Clause |
| // |
| //------------------------------------------------------------------------------- |
| |
| @Library('trustedfirmware') _ |
| import org.trustedfirmware.Gerrit |
| |
| timestamps { |
| node("docker-amd64-tf-m-bionic") { |
| stage("Init") { |
| cleanWs() |
| dir("trusted-firmware-m") { |
| checkout( |
| poll: false, |
| scm: [ |
| $class: 'GitSCM', |
| branches: [[name: '$GERRIT_BRANCH']], |
| extensions: [[$class: 'BuildChooserSetting', buildChooser: [$class: 'GerritTriggerBuildChooser']]], |
| userRemoteConfigs: [[ |
| credentialsId: 'GIT_SSH_KEY', |
| refspec: '$GERRIT_REFSPEC', url: '$CODE_REPO' |
| ]] |
| ]) |
| } |
| dir("tf-m-ci-scripts") { |
| checkout([$class: 'GitSCM', branches: [[name: '$CI_SCRIPTS_BRANCH']], userRemoteConfigs: [[credentialsId: 'GIT_SSH_KEY', url: '$CI_SCRIPTS_REPO']]]) |
| } |
| dir("mbedtls") { |
| checkout( |
| changelog: false, |
| poll: false, |
| scm: [ |
| $class: 'GitSCM', |
| branches: [[name: 'FETCH_HEAD']], |
| userRemoteConfigs: [[ |
| refspec: 'refs/tags/$MBEDTLS_VERSION', |
| url: params.MBEDTLS_URL |
| ]] |
| ] |
| ) |
| } |
| dir("mcuboot") { |
| checkout( |
| changelog: false, |
| poll: false, |
| scm: [ |
| $class: 'GitSCM', |
| branches: [[name: 'FETCH_HEAD']], |
| userRemoteConfigs: [[ |
| refspec: '$MCUBOOT_REFSPEC', |
| url: params.MCUBOOT_URL |
| ]] |
| ] |
| ) |
| } |
| dir("tf-m-tests") { |
| checkout( |
| changelog: false, |
| poll: false, |
| scm: [ |
| $class: 'GitSCM', |
| branches: [[name: 'FETCH_HEAD']], |
| userRemoteConfigs: [[ |
| refspec: '$TFM_TESTS_REFSPEC', |
| url: params.TFM_TESTS_URL |
| ]] |
| ] |
| ) |
| } |
| } |
| try { |
| verify = 1 |
| stage("Build") { |
| sh "tf-m-ci-scripts/build-docs.sh" |
| } |
| stage("Post") { |
| archiveArtifacts 'trusted-firmware-m/build/docs/**' |
| } |
| } catch (Exception e) { |
| manager.buildFailure() |
| verify = -1 |
| } finally { |
| g = new Gerrit() |
| g.verifyStatusInWorkspace(verify, "$JOB_NAME", 'build') |
| def buildStatus = (verify == 1) ? 'Successful' : 'Failed' |
| //g.commentInWorkspace("Build docs ${buildStatus}: ${env.RUN_DISPLAY_URL}") |
| cleanWs() |
| } |
| } |
| node("master") { |
| sh """ |
| cp -a /var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/archive/trusted-firmware-m/build/docs/reference_manual /var/jenkins_home/docs/ |
| cp -a /var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/archive/trusted-firmware-m/build/docs/user_guide /var/jenkins_home/docs/ |
| """ |
| } |
| } |