From: Sergey Bronnikov <sergeyb@tarantool.org> To: Oleg Piskunov <o.piskunov@tarantool.org> Cc: tarantool-patches@dev.tarantool.org, Alexander Turenko <alexander.turenko@tarantool.org> Subject: Re: [Tarantool-patches] [PATCH v1] gitlab-ci: integration testting connectors Date: Thu, 21 May 2020 19:09:47 +0300 [thread overview] Message-ID: <20200521160947.GA55046@pony.bronevichok.ru> (raw) In-Reply-To: <1590074995.548316661@f536.i.mail.ru> Hi, Oleg Thanks for the patch! See my coments inline. On 18:29 Thu 21 May , Oleg Piskunov wrote: > > > - Adding new stage "integration_test" for integration > testing connectors and modules with Tarantool. > - Adding testing connectors in Tarantool > development cycle: > - tarantool-python > - asynctnt-python > - tarantool-php > - tarantool-java > - tarantool-go > - viciious-go > > Closes #4856 > --- > > Github: https://github.com/tarantool/tarantool/tree/opiskunov/gh-4856-integration-test-connectors > Issue: https://github.com/tarantool/tarantool/issues/4856 > > .gitlab-ci.yml | 41 +++++++++++++++++++++++++++++++++++++++++ > .travis.mk | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- > 2 files changed, 95 insertions(+), 1 deletion(-) > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml > index 256b368..3ab0103 100644 > --- a/.gitlab-ci.yml > +++ b/.gitlab-ci.yml > @@ -1,5 +1,6 @@ > stages: > - test > + - integration_test > - perf > - cleanup > > @@ -183,6 +184,46 @@ freebsd_12_release: > script: > - ${GITLAB_MAKE} vms_test_freebsd > > +# ################### > +# Integration testing > +# ################### > + > +release_connector_python_asynctnt_test: > + <<: *docker_test_definition > + stage: integration_test > + script: > + - ${GITLAB_MAKE} test_connector_python_asynctnt > + > +release_connector_python_tarantool_test: > + <<: *docker_test_definition > + stage: integration_test > + script: > + - ${GITLAB_MAKE} test_connector_python_tarantool > + > +release_connector_go_tarantool_test: > + <<: *docker_test_definition > + stage: integration_test > + script: > + - ${GITLAB_MAKE} test_connector_go_tarantool > + > +release_connector_go_viciious_test: > + <<: *docker_test_definition > + stage: integration_test > + script: > + - ${GITLAB_MAKE} test_connector_go_viciious > + > +release_connector_php_tarantool_test: > + <<: *docker_test_definition > + stage: integration_test > + script: > + - ${GITLAB_MAKE} test_connector_php_tarantool > + > +release_connector_java_tarantool_test: > + <<: *docker_test_definition > + stage: integration_test > + script: > + - ${GITLAB_MAKE} test_connector_java_tarantool > + > # #### > # Perf > # #### > diff --git a/.travis.mk b/.travis.mk > index 063537f..024351e 100644 > --- a/.travis.mk > +++ b/.travis.mk > @@ -77,7 +77,7 @@ deps_buster_clang_8: deps_debian > # Release > > build_debian: > - cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_WERROR=ON ${CMAKE_EXTRA_PARAMS} > + cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_WERROR=ON -DENABLE_DIST=ON ${CMAKE_EXTRA_PARAMS} Why do we need ENABLE_WERROR here? > make -j > > test_debian_no_deps: build_debian > @@ -87,6 +87,59 @@ test_debian: deps_debian test_debian_no_deps > > test_debian_clang8: deps_debian deps_buster_clang_8 test_debian_no_deps > > +# Integration testing > + > +test_connector_python_asynctnt: build_debian > + make install Let's create a separate target for tarantool installation and add it to dependence. Same for targets below. > + apt-get install -y python3-pip python3-dev pandoc python3-setuptools > + git clone --depth=1 --recurse-submodules https://github.com/igorcoding/asynctnt.git asynctnt-python > + cd asynctnt-python && pip3 install -r requirements.txt && export PYTHON=python3 \ > + && make && pip3 install -e . && make quicktest > + > +test_connector_python_tarantool: build_debian > + make install > + git clone --depth=1 https://github.com/tarantool/tarantool-python.git tarantool-python > + cd tarantool-python && pip install -r requirements.txt && python setup.py install \ > + && python setup.py test > + > +test_connector_go_tarantool: build_debian > + make install > + wget --progress=dot:mega https://dl.google.com/go/go1.10.linux-amd64.tar.gz > + tar -C /usr/local -xzf go1.10.linux-amd64.tar.gz > + chmod -R a+rwx /usr/local/go > + export PATH=/usr/local/go/bin:$$PATH && export GOPATH=/usr/local/go/go-tarantool \ > + && go get github.com/tarantool/go-tarantool \ > + && cd /usr/local/go/go-tarantool/src/github.com/tarantool/go-tarantool \ > + && mkdir snap xlog && (tarantool config.lua &) && go test -v . > + > +test_connector_go_viciious: build_debian > + make install > + wget --progress=dot:mega https://dl.google.com/go/go1.10.linux-amd64.tar.gz > + tar -C /usr/local -xzf go1.10.linux-amd64.tar.gz > + chmod -R a+rwx /usr/local/go > + export PATH=/usr/local/go/bin:$$PATH && export GOPATH=/usr/local/go/go-tarantool \ > + && export GOBIN=$$GOPATH/bin && go get github.com/viciious/go-tarantool \ > + && cd /usr/local/go/go-tarantool/src/github.com/viciious/go-tarantool \ > + && mkdir log && export TNT_LOG_DIR=`pwd`/log && go test -v . > + > +test_connector_php_tarantool: build_debian > + make install > + apt-get update && apt-get install -y lsb-release > + wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg > + echo "deb https://packages.sury.org/php/ $$(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list > + apt-get update && apt-get install -y php7.4 php7.4-dev php7.4-xml > + curl -SsLf -o /usr/local/bin/phpunit https://phar.phpunit.de/phpunit-9.phar > + chmod a+x /usr/local/bin/phpunit > + git clone --depth=1 https://github.com/tarantool/tarantool-php.git --branch=php7-v2 tarantool-php > + cd tarantool-php && phpize && ./configure \ > + && make && make install && /usr/bin/python test-run.py > + > +test_connector_java_tarantool: build_debian > + make install > + apt-get update && apt-get install -y openjdk-8-jre openjdk-8-jdk > + git clone --depth=1 https://github.com/tarantool/tarantool-java.git tarantool-java > + cd tarantool-java && ./mvnw clean test && ./mvnw clean verify The same question as for vshard - why should we test tarantool against unreleased versions of connectors? > + > # Debug with coverage > > build_coverage_debian: > -- > 1.8.3.1 > -- sergeyb@
next prev parent reply other threads:[~2020-05-21 16:10 UTC|newest] Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-05-21 15:29 Oleg Piskunov 2020-05-21 16:09 ` Sergey Bronnikov [this message] 2020-05-26 9:58 ` Oleg Piskunov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200521160947.GA55046@pony.bronevichok.ru \ --to=sergeyb@tarantool.org \ --cc=alexander.turenko@tarantool.org \ --cc=o.piskunov@tarantool.org \ --cc=tarantool-patches@dev.tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH v1] gitlab-ci: integration testting connectors' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox