klayout/Jenkinsfile

98 lines
1.7 KiB
Plaintext
Raw Normal View History

2018-06-23 09:45:06 +02:00
2018-06-24 10:11:46 +02:00
@Library("osconfig") _
2018-06-24 10:36:19 +02:00
// from shared library
target = osconfig()
2018-06-24 10:15:35 +02:00
2018-06-23 09:45:06 +02:00
currentBuild.description = "Pipelined "+target
node("master") {
2018-06-24 10:45:08 +02:00
branch = 'staging'
artefacts = pwd() + "/artefacts"
src_dir = pwd()
2018-06-23 09:45:06 +02:00
2018-06-24 10:45:08 +02:00
target_dir = artefacts + "/" + target
work_dir = pwd() + "/" + target
2018-06-23 09:45:06 +02:00
2018-06-24 10:45:08 +02:00
stage("Checkout sources") {
checkout scm
}
stage("Building target ${target}") {
2018-06-23 09:45:06 +02:00
sh("rm -rf ${target_dir}")
sh("mkdir -p ${target_dir}")
withDockerContainer(image: "jenkins-${target}") {
2018-06-24 10:45:08 +02:00
sh """
2018-06-23 09:45:06 +02:00
echo "UID=\$UID"
echo "GID=\$GID"
ls -al scripts/rpm-data/klayout.spec
cat /etc/redhat-release
. ./version.sh
rpmbuild -ba scripts/rpm-data/klayout.spec \\
-D "_topdir ${work_dir}" \\
-D "git_source ${src_dir}" \\
-D "git_version \${KLAYOUT_VERSION}" \\
-D "target_system ${target}"
cp ${work_dir}/RPMS/*/*.rpm ${target_dir}
"""
}
2018-06-24 10:45:08 +02:00
}
2018-06-23 09:45:06 +02:00
2018-06-24 10:45:08 +02:00
stage("Publish and test") {
2018-06-23 09:45:06 +02:00
parallel(
2018-06-24 10:36:19 +02:00
"Publish": {
// from shared library
2018-06-24 10:45:08 +02:00
publish(BRANCH_NAME, target, target_dir)
2018-06-24 10:36:19 +02:00
},
2018-06-23 09:45:06 +02:00
"Unit testing": {
2018-06-24 10:45:08 +02:00
withDockerContainer(image: "jenkins-${target}") {
2018-06-23 09:45:06 +02:00
2018-06-24 10:45:08 +02:00
sh """
2018-06-23 09:45:06 +02:00
cd ${work_dir}/BUILD/build.linux-release
set +e
LD_LIBRARY_PATH=. TESTSRC=../../.. TESTTMP=testtmp xvfb-run ./ut_runner -c -a | tee ut_runner.xml
set -e
"""
2018-06-24 10:45:08 +02:00
}
2018-06-23 09:45:06 +02:00
2018-06-24 10:45:08 +02:00
junit(testResults: "${target}/BUILD/build.linux-release/ut_runner.xml")
2018-06-23 09:45:06 +02:00
},
"Installtest": {
2018-06-24 10:45:08 +02:00
withDockerContainer(image: "jenkins-${target}-basic") {
2018-06-23 09:45:06 +02:00
2018-06-24 10:45:08 +02:00
sh """
2018-06-23 09:45:06 +02:00
cd ${target_dir}
echo \$USER
sudo yum -y install klayout-*.x86_64.rpm
klayout -b -h
"""
2018-06-24 10:45:08 +02:00
}
2018-06-23 09:45:06 +02:00
})
2018-06-24 10:45:08 +02:00
}
2018-06-23 09:45:06 +02:00
}