blob: a2a0208e1975be5d5da9f77c4a0ad5a09cdc0e71 [file] [log] [blame]
#!/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("tf-m-ci-scripts") {
checkout([$class: 'GitSCM', branches: [[name: '$CI_SCRIPTS_BRANCH']], userRemoteConfigs: [[credentialsId: 'GIT_SSH_KEY', url: '$CI_SCRIPTS_REPO']]])
// Clone TF-M repositories so share folder can be reused by downstream jobs
sh "./clone.sh"
}
}
try {
verify = 1
stage("Build") {
sh "tf-m-ci-scripts/build-docs.sh"
}
stage("Post") {
archiveArtifacts 'trusted-firmware-m/build/docs/**'
}
} catch (Exception e) {
stage("Post") {
archiveArtifacts 'trusted-firmware-m/build/**'
}
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") {
if (env.JOB_NAME.contains("tf-m-build-docs-nightly")) {
// Copy, then as atomically as possible replace previous docs with new.
sh """
cp -a /var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/archive/trusted-firmware-m/build/docs/reference_manual /var/jenkins_home/docs/reference_manual.new
cp -a /var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/archive/trusted-firmware-m/build/docs/user_guide /var/jenkins_home/docs/user_guide.new
rm -rf /var/jenkins_home/docs/reference_manual.old /var/jenkins_home/docs/user_guide.old
mv /var/jenkins_home/docs/reference_manual /var/jenkins_home/docs/reference_manual.old
mv /var/jenkins_home/docs/user_guide /var/jenkins_home/docs/user_guide.old
mv /var/jenkins_home/docs/reference_manual.new /var/jenkins_home/docs/reference_manual
mv /var/jenkins_home/docs/user_guide.new /var/jenkins_home/docs/user_guide
"""
}
}
}