[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