[Tarantool-patches] [PATCH v1] gitlab-ci: add Catalina OSX 10.15

Alexander Turenko alexander.turenko at tarantool.org
Tue Dec 17 18:46:27 MSK 2019


To be honest, I didn't get most of changes here. So below I asked for
explanation.

WBR, Alexander Turenko.

On Mon, Dec 09, 2019 at 02:45:54PM +0300, Alexander V. Tikhonov wrote:
> Added Catalina OSX 10.15 to gitlab-ci testing and removed OSX 10.13,
> due to decided to have only 2 last major releases, for now it is
> 10.14 and 10.15 OSX versions.
> 
> Also added homebrew installation routine as it was suggested in its
> instructions. Added path in environment to reach the pip binary that
> was additionally installed based on python2 version in addition to
> pip3 which is the default in Catalina OSX 10.15. Added installation
> of the cmake and tool. Added upgrade of the OSX packages to avoid of
> fails on already existed packages, but of the previous versions.
> ---
> 
> Github: https://github.com/tarantool/tarantool/tree/avtikhon/osx_15_catalina
> 
>  .gitlab-ci.yml |  8 ++++----
>  .travis.mk     | 30 +++++++++++++++++++++++++-----
>  2 files changed, 29 insertions(+), 9 deletions(-)
> 
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 3af5a3c8a..d3cb959d0 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -90,15 +90,15 @@ release_asan_clang8:
>    script:
>      - ${GITLAB_MAKE} test_asan_debian_no_deps
>  
> -osx_13_release:
> +osx_15_release:
>    <<: *release_only_definition
>    <<: *vbox_definition
>    tags:
> -    - vms_osx_13
> +    - vms_test

Is it separate change? Is is about load balancing between our hosts?

If so, let's move this change into its own commit.

>    variables:
> -    VMS_NAME: 'osx_13'
> +    VMS_NAME: 'osx_15'
>      VMS_USER: 'tarantool'
> -    VMS_PORT: '2212'
> +    VMS_PORT: '2242'
>    script:
>      - ${GITLAB_MAKE} vms_test_osx
>  
> diff --git a/.travis.mk b/.travis.mk
> index 42969ff56..c8cb273fa 100644
> --- a/.travis.mk
> +++ b/.travis.mk
> @@ -127,17 +127,37 @@ test_asan_debian: deps_debian deps_buster_clang_8 test_asan_debian_no_deps
>  # OSX #
>  #######
>  
> +OSX_PKGS=openssl readline curl icu4c libiconv zlib autoconf automake libtool cmake
> +
>  deps_osx:
> -	brew update
> -	brew install openssl readline curl icu4c libiconv zlib autoconf automake libtool --force
> +	# install brew using command from Homebrew repository instructions:
> +	#   https://github.com/Homebrew/install
> +	export PATH=${PATH}:/usr/local/bin ; \
> +		brew update || echo | /usr/bin/ruby -e \
> +			"`curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install`"

The only motivation I found is that it is suggested in homebrew
instructions. What did not work before this change? Is it actually
related to 1.0.13 -> 10.15 update?

> +	# try to install the packages either upgrade it to avoid of fails
> +	# if the package allready exists but of the previous version

Typo: allready.

> +	export PATH=${PATH}:/usr/local/bin ; \
> +		brew install --force ${OSX_PKGS} || brew upgrade ${OSX_PKGS}

I see the following warnings on 10.14 in Travis-CI on current master:

 | brew install openssl readline curl icu4c libiconv zlib autoconf automake libtool --force
 | Warning: openssl at 1.1 1.1.1d is already installed, it's just not linked
 | You can use `brew link openssl at 1.1` to link this version.

Is it about them? So, it forces brew to install last packages versions?
It seems this is not related to 10.13 -> 10.15 update (correct me if I'm
wrong) and deserves its own commit.

> +	# OSX 10.15 Catalina started to use Xcode 11 which has 'Deprications'
> +	# part in Release Notes:
> +	#   Use of Python 2.7 isn’t recommended. This version is included in
> +	#   macOS for compatibility with legacy software. Future versions of
> +	#   macOS won’t include Python 2.7. Instead, it’s recommended that
> +	#   you run python3 in Terminal. (51097165)
>  	python2 -V || brew install python2 --force
>  	curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py >get-pip.py
>  	python get-pip.py --user

Is it python3 on Mac OS 10.15? If so, I didn't get what are we doing
here. Maybe it didn't matter before, but now we should explicitly call
python2 here?

> -	pip install --user --force-reinstall -r test-run/requirements.txt
> +	# To make pip tools available, the PATH environment must include the
> +	# path to its binaries
> +	export PATH=${PATH}:/Users/tarantool/Library/Python/2.7/bin ; \
> +		pip install --user --force-reinstall -r test-run/requirements.txt

We just install pip and it is not with default PATH? This looks strange.
Can you verify that this extra path is necessary?

>  
>  build_osx:
> -	cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_WERROR=ON ${CMAKE_EXTRA_PARAMS}
> -	make -j
> +	export PATH=${PATH}:/usr/local/bin ; \
> +		cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo \
> +			-DENABLE_WERROR=ON ${CMAKE_EXTRA_PARAMS} && \
> +		make -j

Didn't get this change: what is now in /usr/local/bin that was not there
before?

>  
>  test_osx_no_deps: build_osx
>  	# Limits: Increase the maximum number of open file descriptors on macOS:
> -- 
> 2.17.1
> 


More information about the Tarantool-patches mailing list