57 lines
1.4 KiB
Groovy
57 lines
1.4 KiB
Groovy
def build_docker(name) {
|
|
def image = "${name}-libs"
|
|
echo "Build image ${image}"
|
|
def pref = ""
|
|
if (env.DOCKER_PREFIX) {
|
|
pref = "--build-arg DOCKER_PREFIX=${env.DOCKER_PREFIX}/"
|
|
}
|
|
def jobs = 4
|
|
if (env.JOBS_COUNT) {
|
|
jobs = "${env.JOBS_COUNT}"
|
|
}
|
|
def args = "${pref} --build-arg LIBS_BUILD_NUMBER=${env.BUILD_NUMBER} --build-arg JOBS_COUNT=${jobs}"
|
|
dir ("docker/${image}") {
|
|
sh "docker build ${args} --no-cache -t ${image} ."
|
|
}
|
|
return "\n - ${image}"
|
|
}
|
|
node {
|
|
stage("checkout") {
|
|
checkout scm
|
|
}
|
|
def _envmap = [:]
|
|
def _env = sh(script: "env", returnStdout: true).trim().split("\n")
|
|
_env.each{ l ->
|
|
def _ind = l.indexOf('=');
|
|
def _n = l.substring(0, _ind);
|
|
def _v = l.substring(_ind + 1);
|
|
_envmap["${_n}"] = "${_v}";
|
|
}
|
|
def _msg = "Built images:"
|
|
def platforms = ['debian', 'osx', 'windows', 'android', 'pi']
|
|
for (int i = 0; i < platforms.size(); ++i) {
|
|
if (_envmap["BUILD_${platforms[i]}"] == "1") {
|
|
stage("${platforms[i]}-libs") {
|
|
//_msg += build_docker("${platforms[i]}")
|
|
}
|
|
}
|
|
}
|
|
sh "docker system prune -f"
|
|
stage("PIP doc") {
|
|
agent {
|
|
label 'master'
|
|
}
|
|
steps {
|
|
checkout scm
|
|
sh "rm -rf share"
|
|
sh "rm -v *.zip"
|
|
sh "mkdir -p build"
|
|
sh "cd build && cmake -DLIB=0 -DCMAKE_INSTALL_PREFIX=`pwd` ../"
|
|
sh "cd build && make doc"
|
|
sh "cd share/doc && zip -r ../../pip_doc.zip pip"
|
|
archiveArtifacts 'pip_doc.zip'
|
|
}
|
|
}
|
|
echo "${_msg}"
|
|
}
|