From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpng1.m.smailru.net (smtpng1.m.smailru.net [94.100.181.251]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 9B193469719 for ; Thu, 27 Feb 2020 13:30:15 +0300 (MSK) From: "Alexander V. Tikhonov" Date: Thu, 27 Feb 2020 13:30:12 +0300 Message-Id: <1586acb33dff165a00e859a68f531ea5da19e0ad.1582799327.git.avtikhon@tarantool.org> Subject: [Tarantool-patches] [PATCH v2] gitlab-ci: implement OSX 10.14 testing on mac mini List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Oleg Piskunov Cc: tarantool-patches@dev.tarantool.org 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