[Tarantool-patches] [PATCH v2] gitlab-ci: implement OSX 10.14 testing on mac mini
Alexander V. Tikhonov
avtikhon at tarantool.org
Thu Feb 27 13:30:12 MSK 2020
Added mac mini hosts into testing and set to it all
OSX 10.14 test jobs with new osx_14 gitlab-runner tag.
Also made additional setup:
- added PATHs to python2 and pip
- 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_on_mini14-full-ci
.gitlab-ci.yml | 20 ++++++++------------
.gitlab.mk | 2 +-
.travis.mk | 45 ++++++++++++++++++++++++++++++++-------------
3 files changed, 41 insertions(+), 26 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5177a9903..7414dd578 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -152,28 +152,24 @@ osx_13_release:
- ${GITLAB_MAKE} vms_test_osx
osx_14_release:
- <<: *vbox_definition
+ <<: *docker_test_definition
tags:
- - vms_osx_14
+ - osx_14
variables:
- VMS_NAME: 'osx_14'
- VMS_USER: 'tarantool'
- VMS_PORT: '2222'
+ PYTHON2: "python"
script:
- - ${GITLAB_MAKE} vms_test_osx
+ - ${GITLAB_MAKE} test_osx
osx_14_release_lto:
<<: *release_only_definition
- <<: *vbox_definition
+ <<: *docker_test_definition
tags:
- - vms_osx_14
+ - osx_14
variables:
EXTRA_ENV: "export CMAKE_EXTRA_PARAMS=-DENABLE_LTO=ON ;"
- VMS_NAME: 'osx_14'
- VMS_USER: 'tarantool'
- VMS_PORT: '2222'
+ PYTHON2: "python"
script:
- - ${GITLAB_MAKE} vms_test_osx
+ - ${GITLAB_MAKE} test_osx
freebsd_12_release:
<<: *vbox_definition
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} $@
# #######################################################
diff --git a/.travis.mk b/.travis.mk
index 42969ff56..90ad0b412 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?=4096
all: package
@@ -127,16 +128,28 @@ 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 ${PYTHON2}
+
deps_osx:
- brew update
- brew install openssl readline curl icu4c libiconv zlib autoconf automake libtool --force
- 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
- pip install --user --force-reinstall -r test-run/requirements.txt
+ # 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)"
+ # 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
+ export PATH=/Users/${USER}/Library/Python/2.7/bin:${PATH} ; \
+ pip install --force-reinstall -r test-run/requirements.txt
build_osx:
- cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_WERROR=ON ${CMAKE_EXTRA_PARAMS}
+ cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DENABLE_WERROR=ON ${CMAKE_EXTRA_PARAMS}
make -j
test_osx_no_deps: build_osx
@@ -148,13 +161,19 @@ 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) \
- 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/
+ ulimit -n ${MAX_FILES} || : ulimit -n ; \
+ sudo -S launchctl limit maxproc ${MAX_PROC} || : ; \
+ launchctl limit maxproc || : ; \
+ ulimit -u ${MAX_PROC} || : ulimit -u ; \
+ export PATH=/System/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH} ; \
+ 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/
test_osx: deps_osx test_osx_no_deps
--
2.17.1
More information about the Tarantool-patches
mailing list