[Tarantool-patches] [PATCH v1] test: fix OSX dependencies installation

Alexander Turenko alexander.turenko at tarantool.org
Mon Mar 23 15:11:01 MSK 2020


Looked briefly.

It looks as a bunch of fixes for different problems. It seems they
should be splitted to properly described separately.

WBR, Alexander Turenko.

On Mon, Mar 23, 2020 at 02:49:24PM +0300, Alexander V. Tikhonov wrote:
> Set in use Python 2 latest commit from tapped local
> formula, since Python 2 is EOL.
> 
> Set 'var' directory for test-run tool to the shorter
> path name to avoid of issues with long names.
> ---
> 
> Github: https://github.com/tarantool/tarantool/tree/avtikhon/osx_depends-full-ci
> First commit from Github: https://github.com/tarantool/tarantool/tree/avtikhon/osx_on_mini14-full-ci
> Which already has LGTM:
> https://lists.tarantool.org/pipermail/tarantool-patches/2020-March/014734.html

> diff --git a/.gitlab.mk b/.gitlab.mk
> index b39c5c651..d804d3cf6 100644
> --- a/.gitlab.mk
> +++ b/.gitlab.mk
> @@ -14,7 +14,7 @@ git_submodule_update:
>  		git submodule update --recursive --init
>  
>  # Pass *_no_deps goals to .travis.mk.
> -test_%_no_deps: git_submodule_update
> +test_%: git_submodule_update
>  	${TRAVIS_MAKE} $@

This looks suspectful. Will not it break Linux builds?

The comment still states that this goal is about *_no_deps.

>  # #######################################################
> diff --git a/.travis.mk b/.travis.mk
> index 42969ff56..2a4ff8046 100644
> --- a/.travis.mk
> +++ b/.travis.mk
> @@ -5,6 +5,7 @@
>  DOCKER_IMAGE?=packpack/packpack:debian-stretch
>  TEST_RUN_EXTRA_PARAMS?=
>  MAX_FILES?=65534
> +MAX_PROC?=2500

It seems you fixed some other problem, but it is not described neither
in an issue, nor in the commit message.

> @@ -127,13 +128,24 @@ test_asan_debian: deps_debian deps_buster_clang_8 test_asan_debian_no_deps
>  # OSX #
>  #######
>  
> +# since Python 2 is EOL it's latest commit from tapped local formula is used
> +OSX_PKGS=openssl readline curl icu4c libiconv zlib autoconf automake libtool \
> +	cmake file://$${PWD}/tools/brew_taps/tntpython2.rb
> +
>  deps_osx:
> -	brew update
> -	brew install openssl readline curl icu4c libiconv zlib autoconf automake libtool --force
> -	python2 -V || brew install python2 --force
> +	# install brew using command from Homebrew repository instructions:
> +	#   https://github.com/Homebrew/install
> +	# NOTE: 'echo' command below is required since brew installation
> +	# script obliges the one to enter a newline for confirming the
> +	# installation via Ruby script.
> +	brew update || echo | /usr/bin/ruby -e \
> +		"$$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

So you added brew installation when it is not installed. Add this to the
commit message at least.

Is it possible at all for a machine that is enabled into CI? Aren't you
use brew to install gitlab runner?

> +	# try to install the packages either upgrade it to avoid of fails
> +	# if the package already exists with the previous version
> +	brew install --force ${OSX_PKGS} || brew upgrade ${OSX_PKGS}
>  	curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py >get-pip.py
> -	python get-pip.py --user
> -	pip install --user --force-reinstall -r test-run/requirements.txt
> +	sudo python get-pip.py

Why do we need get-pip.py if you already install python2 from tap?

> +	pip install --force-reinstall -r test-run/requirements.txt

> @@ -148,11 +160,16 @@ test_osx_no_deps: build_osx
>  	# call as tests runs call.
>  	# Tests: Temporary excluded replication/ suite with some tests
>  	#        from other suites by issues #4357 and #4370
> -	echo tarantool | sudo -S launchctl limit maxfiles ${MAX_FILES} || : ; \
> +	sudo -S launchctl limit maxfiles ${MAX_FILES} || : ; \
>  		launchctl limit maxfiles || : ; \
>  		ulimit -n ${MAX_FILES} || : ; \
>  		ulimit -n ; \
> -		cd test && ./test-run.py --force $(TEST_RUN_EXTRA_PARAMS) \
> +		sudo -S launchctl limit maxproc ${MAX_PROC} || : ; \
> +		launchctl limit maxproc || : ; \
> +		ulimit -u ${MAX_PROC} || : ; \
> +		ulimit -u ; \
> +		rm -rf /tmp/tnt ; \
> +		cd test && ./test-run.py --vardir /tmp/tnt --force $(TEST_RUN_EXTRA_PARAMS) \
>  			app/ app-tap/ box/ box-py/ box-tap/ engine/ engine_long/ long_run-py/ luajit-tap/ \
>  			replication-py/ small/ sql/ sql-tap/ swim/ unit/ vinyl/ wal_off/ xlog/ xlog-py/

The problem with 'var' directory is not related to the new way to Python
2 installation? Why everything is in one commit?


More information about the Tarantool-patches mailing list