From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpng3.m.smailru.net (smtpng3.m.smailru.net [94.100.177.149]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 9FAE1469719 for ; Fri, 18 Sep 2020 15:34:07 +0300 (MSK) Date: Fri, 18 Sep 2020 15:34:05 +0300 From: "Alexander V. Tikhonov" Message-ID: <20200918123405.GA17616@hpalx> References: <8c4c50dbe712bb17cfe5a06fc6329d0e3ea4c8bd.1600239621.git.sergeyb@tarantool.org> <20200917071224.GA32661@hpalx> <20200917152541.n4mczy2uu6sl2edo@tkn_work_nb> <1131ff7e-a716-4b76-bd8b-9827571a97c4@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: <1131ff7e-a716-4b76-bd8b-9827571a97c4@tarantool.org> Subject: Re: [Tarantool-patches] [PATCH 4/4] ci: integrate Jepsen tests to GitLab CI List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Sergey Bronnikov Cc: tarantool-patches@dev.tarantool.org Hi Sergey, thanks for the updates, patch LGTM. On Fri, Sep 18, 2020 at 03:28:49PM +0300, Sergey Bronnikov wrote: > Hello! >=20 > Thanks for review! I made some changes according to your comments >=20 > and pushed them to the branch. >=20 > CI: https://gitlab.com/tarantool/tarantool/-/pipelines/191621859 >=20 >=20 > On 17.09.2020 18:25, Alexander Turenko wrote: > > > > +jepsen: > > > > + <<: *docker_test_definition > > > > + script: > > > > + - ${GITLAB_MAKE} test_jepsen > > > > + stage: long_tests > > > > + when: manual > > > > + tags: > > > > + - mcs_jepsen_docker > > > > + artifacts: > > > > + paths: > > > > + - jepsen-tests-prefix/src/jepsen-tests/store > > > > + expire_in: 1 week > > > > + > > > Let's use more time for artifacts store, may be 6 months. > > I agree. We sometimes return to bad results after some significant > > delay. >=20 > increased to 6 months: >=20 > --- a/.gitlab-ci.yml > +++ b/.gitlab-ci.yml > @@ -222,7 +222,7 @@ jepsen: > =A0=A0 artifacts: > =A0=A0=A0=A0 paths: > =A0=A0=A0=A0=A0=A0 - jepsen-tests-prefix/src/jepsen-tests/store > -=A0=A0=A0 expire_in: 1 week > +=A0=A0=A0 expire_in: 6 month >=20 > =A0# #### > =A0# Perf >=20 > >=20 > > > > -deps_debian: > > > > +deps_debian: $(BIN_DIR)/clojure $(BIN_DIR)/lein $(BIN_DIR)/terrafo= rm > > > > apt-get update ${APT_EXTRA_FLAGS} && apt-get install -y -f \ > > > > build-essential cmake coreutils sed \ > > > > libreadline-dev libncurses5-dev libyaml-dev libssl-dev \ > > > I don't think we need to add jepsen's new targets to the base one, le= t's > > > move it to 'deps_debian_jepsen'. > > I agree, it is a bit strange to install jepsen dependencies for all jobs > > (when a separate jepsen goal exists at least). > >=20 > Agree. Removed jepsen dependencies for deps_debian target. >=20 >=20 > > > > +deps_debian_jepsen: > > > > + apt-get update ${APT_EXTRA_FLAGS} && apt-get install -y -f \ > > > > + openjdk-8-jre openjdk-8-jre-headless libjna-java gnuplot graphvi= z \ > > > > + zip unzip openssh-client jq > > > > + > > > > +$(BIN_DIR)/clojure: deps_debian_jepsen > > > > + curl $(CLOJURE_URL) | sudo bash > > > > + > > > > +$(BIN_DIR)/lein: deps_debian_jepsen > > > > + curl $(LEIN_URL) > $@ > > > > + chmod a+x $@ > > > > + $@ version > > > > + > > > > +$(BIN_DIR)/terraform: deps_debian_jepsen > > > > + curl -O $(TERRAFORM_URL) > > > > + unzip -o $(TERRAFORM_NAME) terraform -d $(dir $@) > > > > + rm -f $(TERRAFORM_NAME) > > > > + > > > Do we really need standalone targets that will not be used in separat= e? > > > This file is in makefile style, but not makefile in real, it has > > > standalone targets that provides some process meanings, like: > > > - prepare deps > > > - build > > > - test > > In my understanding it is Makefile anyway and it is usual for a Makefile > > to use a file name as a goal (so the goal will be considered as made if > > the file exists, if the goal is not marked as .PHONY). > >=20 > > > > + > > > > +# ################### > > > > +# Jepsen testing > > > > +# ################### > > > > + > > > > +test_jepsen: deps_debian > > > > + cmake . -DCMAKE_BUILD_TYPE=3DRelWithDebInfo -DENABLE_WERROR=3DON > > > > + make jepsen-single > > > Let's use deps_debian_jepsen here. >=20 > Done. >=20 >=20 > > I would do it this way, yep.