109 lines
2.6 KiB
Plaintext
109 lines
2.6 KiB
Plaintext
pipeline {
|
|
|
|
agent none
|
|
|
|
environment {
|
|
THIS_PROJECT = 'hio'
|
|
THIS_SVN_URL = "https://code.miflux.com/svn/hio/trunk/${THIS_PROJECT}"
|
|
}
|
|
|
|
stages {
|
|
|
|
stage('Multi-Builld') {
|
|
matrix {
|
|
axes {
|
|
axis {
|
|
name 'BUILD_TYPE'
|
|
values 'debug-shared', 'debug-static', 'release-shared', 'release-static'
|
|
//values 'debug-shared', 'debug-static'
|
|
}
|
|
|
|
axis {
|
|
name 'PLATFORM'
|
|
//values 'fedora' , 'freebsd'
|
|
values 'fedora'
|
|
}
|
|
}
|
|
|
|
//excludes {
|
|
// exclude {
|
|
// axis {
|
|
// name 'BUILD_TYPE'
|
|
// value 'debug-shared'
|
|
// }
|
|
// axis {
|
|
// name 'PLATFORM'
|
|
// value 'fedora'
|
|
// }
|
|
// }
|
|
//}
|
|
|
|
//agent any
|
|
agent { label "${PLATFORM}" }
|
|
|
|
stages {
|
|
stage('Setup') {
|
|
steps {
|
|
script {
|
|
if (env.BUILD_TYPE == 'debug-shared') {
|
|
env.CONFIG_OPTS = '--enable-debug=yes --enable-static=no --enable-shared=yes'
|
|
}
|
|
else if (env.BUILD_TYPE == 'debug-static') {
|
|
env.CONFIG_OPTS = '--enable-debug=yes --enable-static=yes --enable-shared=no'
|
|
}
|
|
else if (env.BUILD_TYPE == 'release-shared') {
|
|
env.CONFIG_OPTS = '--enable-debug=no --enable-static=no --enable-shared=yes'
|
|
}
|
|
else if (env.BUILD_TYPE == 'release-static') {
|
|
env.CONFIG_OPTS = '--enable-debug=no --enable-static=yes --enable-shared=no'
|
|
}
|
|
else {
|
|
echo "Invalid Build Type - ${env.BUILD_TYPE}"
|
|
sh "exit 1"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
stage('Checkout') {
|
|
steps {
|
|
echo "Checking out for ${BUILD_TYPE} on ${PLATFORM} - ${CONFIG_OPTS}"
|
|
checkout([$class: 'SubversionSCM',
|
|
additionalCredentials: [],
|
|
excludedCommitMessages: '',
|
|
excludedRegions: '',
|
|
excludedRevprop: '',
|
|
excludedUsers: '',
|
|
filterChangelog: false,
|
|
ignoreDirPropChanges: false,
|
|
includedRegions: '',
|
|
locations: [[
|
|
depthOption: 'infinity',
|
|
ignoreExternalsOption: true,
|
|
//local: 'local-dir',
|
|
remote: "${THIS_SVN_URL}"
|
|
]],
|
|
workspaceUpdater: [$class: 'UpdateUpdater']
|
|
])
|
|
}
|
|
}
|
|
|
|
stage('Build') {
|
|
steps {
|
|
echo "Do build for ${BUILD_TYPE} on ${PLATFORM}"
|
|
sh "ls -laF && cd ${THIS_PROJECT} && touch -r * */* && ./configure ${CONFIG_OPTS} && make"
|
|
}
|
|
}
|
|
|
|
stage('Test') {
|
|
steps {
|
|
echo "Do Test for ${BUILD_TYPE} on ${PLATFORM}"
|
|
sh "cd ${THIS_PROJECT} && make check"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|