klayout/Jenkinsfile-linux

67 lines
1.3 KiB
Plaintext

@Library("osconfig") _
properties([disableConcurrentBuilds()])
// from shared library
target = osconfig()
docker_args = docker_args()
currentBuild.description = "Pipelined " + target
node("linux") {
artefacts = pwd() + "/artefacts"
target_dir = artefacts + "/" + target
stage("Checkout sources") {
checkout scm
checkout_private()
}
stage("Building target ${target}") {
withDockerContainer(image: "jenkins-${target}", args: docker_args) {
// from shared library
build(target, target_dir)
}
}
stage("Publish and test") {
parallel(
"Publish": {
// from shared library - only publish for normal branch, not for PR
if (! BRANCH_NAME.startsWith('PR')) {
publish(BRANCH_NAME, target, target_dir)
}
},
"Unit testing": {
ut_result = "no-result"
withDockerContainer(image: "jenkins-${target}", args: docker_args) {
ut_result = run_ut(target)
}
junit(testResults: ut_result)
},
"Installtest": {
withDockerContainer(image: "jenkins-${target}-basic", args: docker_args) {
// from shared library
installtest_nopython(target, target_dir)
}
})
}
}