From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id 1706925F83 for ; Tue, 20 Aug 2019 05:32:37 -0400 (EDT) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 09ybvSoFD1iG for ; Tue, 20 Aug 2019 05:32:36 -0400 (EDT) Received: from smtpng2.m.smailru.net (smtpng2.m.smailru.net [94.100.179.3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id C45A925F71 for ; Tue, 20 Aug 2019 05:32:36 -0400 (EDT) From: "Alexander V. Tikhonov" Subject: [tarantool-patches] [PATCH v1] gitlab-ci: add static build Date: Tue, 20 Aug 2019 12:32:32 +0300 Message-Id: Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-Help: List-Unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-Subscribe: List-Owner: List-post: List-Archive: To: Alexander Turenko Cc: "Alexander V. Tikhonov" , tarantool-patches@freelists.org Added static build using Dockerfile on Centos 7 for release commit criteria only. Added the cleanup for cmake generating CMakeCache.txt files and CMakeFiles directories to avoid of cmake localy created setup failing inside the docker after the whole tarantool path was copied into it. Added testing into the static build, running only when RUN_TESTS environment variable set to non empty value, used in gitlab-ci job to run the testing after the build. Closes #3668 --- Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-3668-static-build-full-ci Issue: https://github.com/tarantool/tarantool/issues/3668 .gitlab-ci.yml | 13 +++++++++++++ .gitlab.mk | 7 +++++++ Dockerfile.staticbuild | 12 ++++++++++++ 3 files changed, 32 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a7b2b3804..f160c276b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -326,3 +326,16 @@ debian_10: DIST: 'buster' script: - ${GITLAB_MAKE} package + +static_build: + only: + refs: + - master + - /^.*-full-ci$/ + stage: test + tags: + - deploy + variables: + RUN_TESTS: 'ON' + script: + - ${GITLAB_MAKE} static_build diff --git a/.gitlab.mk b/.gitlab.mk index 7199adf94..cb66df4c2 100644 --- a/.gitlab.mk +++ b/.gitlab.mk @@ -105,3 +105,10 @@ vms_shutdown: package: git_submodule_update git clone https://github.com/packpack/packpack.git packpack PACKPACK_EXTRA_DOCKER_RUN_PARAMS='--network=host' ./packpack/packpack + +# ############ +# Static build +# ############ + +static_build: + docker build --network=host -f Dockerfile.staticbuild . diff --git a/Dockerfile.staticbuild b/Dockerfile.staticbuild index 6a784990b..679cce560 100644 --- a/Dockerfile.staticbuild +++ b/Dockerfile.staticbuild @@ -78,6 +78,12 @@ RUN set -x && \ git submodule init && \ git submodule update +WORKDIR /tarantool + +RUN set -x && \ + find . -name 'CMakeFiles' -type d -exec rm -rf {} + && \ + find . -name 'CMakeCache.txt' -type f -delete + RUN pip install -r /tarantool/test-run/requirements.txt RUN set -x \ @@ -91,4 +97,10 @@ RUN set -x \ RUN cd /tarantool && make install +ARG RUN_TESTS +RUN [ -n ${RUN_TESTS} ] && \ + set -x && \ + cd test && \ + /usr/bin/python test-run.py --force + ENTRYPOINT /bin/bash -- 2.17.1