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 D0D47210D6 for ; Mon, 19 Aug 2019 08:00:38 -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 RkVz97euzXwP for ; Mon, 19 Aug 2019 08:00:38 -0400 (EDT) Received: from smtp45.i.mail.ru (smtp45.i.mail.ru [94.100.177.105]) (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 30756210C9 for ; Mon, 19 Aug 2019 08:00:38 -0400 (EDT) Date: Mon, 19 Aug 2019 15:00:20 +0300 From: Alexander Turenko Subject: [tarantool-patches] Re: [PATCH v1] gitlab-ci: add static build Message-ID: <20190819120019.ksxw3bibqkv66jvc@tkn_work_nb> References: <2b050fa422282168af422ef77110eb2de9506da6.1565949234.git.avtikhon@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <2b050fa422282168af422ef77110eb2de9506da6.1565949234.git.avtikhon@tarantool.org> 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 V. Tikhonov" Cc: tarantool-patches@freelists.org I have no objections other then those about unrelated changes. See below. WBR, Alexander Turenko. On Fri, Aug 16, 2019 at 12:55:06PM +0300, Alexander V. Tikhonov wrote: > Added static build using Dockerfile on Centos 7 for release > commit criteria only. Also cleaned up the Dockerfile from > duplicating code and 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 staic build, running only when RUN_TESTS environment Typo: staic. > 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 | 19 ++++++++++++------- > 3 files changed, 32 insertions(+), 7 deletions(-) > > 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..195274d54 100644 > --- a/Dockerfile.staticbuild > +++ b/Dockerfile.staticbuild > @@ -38,8 +38,9 @@ RUN yum -y install ncurses-static readline-static zlib-static pcre-static glibc- > > RUN yum -y install python-devel python-pip > > +WORKDIR / > + > RUN set -x && \ > - cd / && \ > curl -O -L https://www.openssl.org/source/openssl-1.1.0h.tar.gz && \ > tar -xvf openssl-1.1.0h.tar.gz && \ > cd openssl-1.1.0h && \ > @@ -47,7 +48,6 @@ RUN set -x && \ > make && make install > > RUN set -x && \ > - cd / && \ > git clone https://github.com/curl/curl.git && \ > cd curl && \ > git checkout curl-7_59_0 && \ > @@ -56,7 +56,6 @@ RUN set -x && \ > make -j && make install > > RUN set -x && \ > - cd / && \ > wget http://download.icu-project.org/files/icu4c/62.1/icu4c-62_1-src.tgz && \ > tar -xvf icu4c-62_1-src.tgz && \ > cd icu/source && \ > @@ -64,7 +63,6 @@ RUN set -x && \ > make && make install > > RUN set -x && \ > - cd / && \ > LD_LIBRARY_PATH=/usr/local/lib64 curl -O -L http://download.savannah.nongnu.org/releases/libunwind/libunwind-1.3-rc1.tar.gz && \ > tar -xvf libunwind-1.3-rc1.tar.gz && \ > cd libunwind-1.3-rc1 && \ > @@ -72,11 +70,12 @@ RUN set -x && \ > make && make install > > COPY . /tarantool > +WORKDIR /tarantool > > RUN set -x && \ > - cd tarantool && \ > - git submodule init && \ > - git submodule update > + git submodule update --init && \ All changes above within this file are not needed for your patch. Let remove them. See https://www.freelists.org/post/tarantool-patches/PATCH-travisci-set-right-flags-in-release-testing-jobs,3 from words 'There is a rule about not making unrelated changes' to the end of the email. > + find . -name 'CMakeFiles' -type d -exec rm -rf {} + && \ > + find . -name 'CMakeCache.txt' -type f -delete > > RUN pip install -r /tarantool/test-run/requirements.txt > > @@ -91,4 +90,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 >