diff --git a/Jenkinsfile b/Jenkinsfile index 5547efe..f3175d0 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,4 +1,4 @@ -def build_docker(name, release_dir) { +def build_docker(name, docker_dir, docker_image, release_dir) { def image_name = "${name}-shstk" echo "Build image ${image_name}" def pref = "" @@ -9,13 +9,17 @@ def build_docker(name, release_dir) { 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_name}") { - sh "docker build ${args} --no-cache -t ${image_name} ." - def diargs = "-v " + release_dir + ":/soft/release" - docker.image(image_name).inside(diargs) { - sh 'cp -vf /soft/shstk/release/* /soft/release/ || true' - } + def args = "${pref}" + args += " --build-arg IMAGE_FROM=${docker_image}" + args += " --build-arg LIBS_BUILD_NUMBER=${env.BUILD_NUMBER}" + args += " --build-arg JOBS_COUNT=${jobs}" + dir ("docker/${docker_dir}-shstk") { + //sh "docker build ${args} --no-cache -t ${image_name} ." + //def diargs = "-v " + release_dir + ":/soft/release" + //docker.image(image_name).inside(diargs) { + // sh 'cp -vf /soft/shstk/release/* /soft/release/ || true' + //} + print "docker build ${args} --no-cache -t ${image_name} ." } return "\n - ${image_name}" } @@ -38,14 +42,27 @@ node { sh "rm -rvf ${rel_dir}" sh "mkdir -p ${rel_dir}" def _msg = "Built images:" - def platforms = ['debian', 'debian11', 'osx', 'windows', 'windows32', 'android', 'pi', 'ubuntu'] + + // individual platforms + def platforms = ['osx', 'android', 'windows', 'windows32', 'pi'] for (int i = 0; i < platforms.size(); ++i) { if (_envmap["BUILD_${platforms[i]}"] == "1") { stage("${platforms[i]}-shstk") { - _msg += build_docker("${platforms[i]}", rel_dir) + _msg += build_docker("${platforms[i]}", "${platforms[i]}", "", rel_dir) } } } + + // desktop linux set + sh 'wget https://shs.tools/files/linux.json' + def root = readJSON(file: 'linux.json') + for (dist in root.Linux) { + if (dist.off) continue + stage ("${dist.system}-shstk") { + _msg += build_docker(dist.docker_image, "linux_desktop", dist.docker_image, rel_dir) + } + } + sh "docker system prune -f" archiveArtifacts 'release/*' echo "${_msg}" diff --git a/docker/debian11-shstk/Dockerfile b/docker/debian11-shstk/Dockerfile deleted file mode 100644 index 5555e28..0000000 --- a/docker/debian11-shstk/Dockerfile +++ /dev/null @@ -1,18 +0,0 @@ -ARG DOCKER_PREFIX=wapmobil/ -FROM ${DOCKER_PREFIX}debian11 - -ARG LIBS_BUILD_NUMBER=9999 -ARG JOBS_COUNT=4 -ENV PATH=/opt/cmake/bin:$PATH - -WORKDIR /soft -RUN git clone -b release --single-branch --depth 1 --recursive https://git.shs.tools/SHS/shstk.git - -WORKDIR /soft/shstk_build_debian -RUN cmake -G Ninja -DICU=0 -DLOCAL=0 -DQGLENGINE=1 -DQGLVIEW=1 -DHAS_GL=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} ../shstk \ - && cmake --build ./ --target install -j${JOBS_COUNT} \ - && cmake --build ./ --target deploy -j${JOBS_COUNT} \ - && rm -rf * \ - && ldconfig - -WORKDIR /soft/src diff --git a/docker/debian-shstk/Dockerfile b/docker/linux_desktop-shstk/Dockerfile similarity index 85% rename from docker/debian-shstk/Dockerfile rename to docker/linux_desktop-shstk/Dockerfile index 67ce6be..43ed8a7 100644 --- a/docker/debian-shstk/Dockerfile +++ b/docker/linux_desktop-shstk/Dockerfile @@ -1,5 +1,6 @@ ARG DOCKER_PREFIX=wapmobil/ -FROM ${DOCKER_PREFIX}debian +ARG IMAGE_FROM +FROM ${DOCKER_PREFIX}${IMAGE_FROM} ARG LIBS_BUILD_NUMBER=9999 ARG JOBS_COUNT=4 @@ -8,7 +9,7 @@ ENV PATH=/opt/cmake/bin:$PATH WORKDIR /soft RUN git clone -b release --single-branch --depth 1 --recursive https://git.shs.tools/SHS/shstk.git -WORKDIR /soft/shstk_build_debian +WORKDIR /soft/shstk_build_linux RUN cmake -G Ninja -DICU=0 -DLOCAL=0 -DQGLENGINE=1 -DQGLVIEW=1 -DHAS_GL=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} ../shstk \ && cmake --build ./ --target install -j${JOBS_COUNT} \ && cmake --build ./ --target deploy -j${JOBS_COUNT} \ diff --git a/docker/ubuntu-shstk/Dockerfile b/docker/ubuntu-shstk/Dockerfile deleted file mode 100644 index 79aeef1..0000000 --- a/docker/ubuntu-shstk/Dockerfile +++ /dev/null @@ -1,18 +0,0 @@ -ARG DOCKER_PREFIX=wapmobil/ -FROM ${DOCKER_PREFIX}ubuntu - -ARG LIBS_BUILD_NUMBER=9999 -ARG JOBS_COUNT=4 -ENV PATH=/opt/cmake/bin:$PATH - -WORKDIR /soft -RUN git clone -b release --single-branch --depth 1 --recursive https://git.shs.tools/SHS/shstk.git - -WORKDIR /soft/shstk_build_ubuntu -RUN cmake -G Ninja -DICU=0 -DLOCAL=0 -DQGLENGINE=1 -DQGLVIEW=1 -DHAS_GL=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} ../shstk \ - && cmake --build ./ --target install -j${JOBS_COUNT} \ - && cmake --build ./ --target deploy -j${JOBS_COUNT} \ - && rm -rf * \ - && ldconfig - -WORKDIR /soft/src diff --git a/pip b/pip index d66f7ef..2d1c86b 160000 --- a/pip +++ b/pip @@ -1 +1 @@ -Subproject commit d66f7efb3cc7bd303320c6491cb80b2973fcdaa5 +Subproject commit 2d1c86bc8335aedb81cdf7887920ed07c4c01c7c