[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