Files
mariadb-connector-python/.travis.yml
Georg Richter bc5a7bc15f Updated pyproject.toml:
Additionally wheel package must be installed (CONPY-236).
2022-11-09 06:24:10 +01:00

120 lines
4.3 KiB
YAML

sudo: true
os: linux
dist: bionic
language: c
services: docker
addons:
hosts:
- mariadb.example.com
before_install:
- git clone https://github.com/mariadb-corporation/connector-test-machine.git
install:
- source connector-test-machine/launch.sh -t "$srv" -v "$v" -d testp -l "$local"
- export MAIN_PATH=`pwd`
# install pyenv to test multiple python version
- git clone https://github.com/pyenv/pyenv.git ~/.pyenv
- export PYENV_ROOT="$HOME/.pyenv"
- eval "$(pyenv init -)"
- export PATH="$PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH"
# install c dependency
- |-
if [ "$TRAVIS_OS_NAME" != "osx" ] ; then
sudo apt-get install software-properties-common
sudo apt-get install -f libssl-dev libssl1.1
sudo apt-get install -f
fi
- git clone https://github.com/mariadb-corporation/mariadb-connector-c.git ~/.cc_3
- cd ~/.cc_3
- mkdir bld
- cd bld
- |-
if [ "$TRAVIS_OS_NAME" = "osx" ] ; then
cmake .. -DCMAKE_BUILD_TYPE=Release -DWITH_EXTERNAL_ZLIB:BOOL=ON -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl@1.1
else
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
fi
- make -j4
- sudo make install
- export MARIADB_PLUGIN_DIR==`mariadb_config --plugindir`
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/mariadb
# install "install-latest" to retrieve latest python version corresponding to major.minor version
- git clone https://github.com/momo-lab/pyenv-install-latest.git "$(pyenv root)"/plugins/pyenv-install-latest
- export REAL_PYTHON_VERSION=$(pyenv install-latest --print $PYTHON_VER)
- echo $REAL_PYTHON_VERSION
- pyenv install $REAL_PYTHON_VERSION
- export PYENV_VERSION=$REAL_PYTHON_VERSION
- pyenv versions
# install server
- cd $MAIN_PATH
env:
global:
- PYTHON_VER="3.10"
- HOMEBREW_NO_AUTO_UPDATE=1
- HOMEBREW_NO_INSTALL_CLEANUP=1
jobs:
fast_finish: true
allow_failures:
- env: srv=maxscale
- env: srv=skysql RUN_LONG_TEST=0
- env: srv=skysql-ha RUN_LONG_TEST=0
- env: srv=mysql v=5.7
- env: srv=mysql v=8.0
include:
- env: srv=mariadb v=10.3 local=1
- env: srv=mariadb v=10.4 local=1
- env: srv=mariadb v=10.5 local=1
- env: srv=mariadb v=10.6 local=1
- env: srv=mariadb v=10.7 local=1
- env: srv=mariadb v=10.8 local=1
- env: srv=mariadb v=10.8 local=1 PYTHON_VER="3.7"
- env: srv=mariadb v=10.8 local=1 PYTHON_VER="3.8"
- env: srv=mariadb v=10.8 local=1 PYTHON_VER="3.9"
- env: srv=mariadb v=10.8 local=1 PYTHON_VER="3.10"
- env: srv=mariadb v=10.8 local=1 PYTHON_VER="3.10" BENCH=1
- if: type = push AND fork = false
env: srv=maxscale
- if: type = push AND fork = false
env: srv=mariadb-es v=10.6
- if: type = push AND fork = false
env: srv=skysql RUN_LONG_TEST=0
- if: type = push AND fork = false
env: srv=skysql-ha RUN_LONG_TEST=0
- if: type = push AND fork = false
env: srv=build v=10.6
- if: type = push AND fork = false
env: srv=mysql v=5.7
- if: type = push AND fork = false
env: srv=mysql v=8.0
# - env: srv=mariadb v=10.8 local=1 PYTHON_VER="3.10"
# os: osx
# osx_image: xcode13.3
# compiler: gcc
notifications:
email: false
script:
- python --version
- python setup.py build
- python setup.py install
- cd testing
- |-
if [ -z "$BENCH" ] ; then
python -m unittest discover -v
else
pip install mysql-connector-python pymysql pyperf
export TEST_MODULE=mariadb
python bench_init.py --inherit-environ=TEST_MODULE,TEST_DB_USER,TEST_DB_HOST,TEST_DB_DATABASE,TEST_DB_PORT,TEST_REQUIRE_TLS,TEST_DB_PASSWORD --copy-env
python bench.py -o mariadb_bench.json --inherit-environ=TEST_MODULE,TEST_DB_USER,TEST_DB_HOST,TEST_DB_DATABASE,TEST_DB_PORT,TEST_REQUIRE_TLS,TEST_DB_PASSWORD --copy-env
export TEST_MODULE=mysql.connector
python bench.py -o mysql-connector-python_bench.json --inherit-environ=TEST_MODULE,TEST_DB_USER,TEST_DB_HOST,TEST_DB_DATABASE,TEST_DB_PORT,TEST_REQUIRE_TLS,TEST_DB_PASSWORD --copy-env
export TEST_MODULE=pymysql
python bench.py -o pymysql_bench.json --inherit-environ=TEST_MODULE,TEST_DB_USER,TEST_DB_HOST,TEST_DB_DATABASE,TEST_DB_PORT,TEST_REQUIRE_TLS,TEST_DB_PASSWORD --copy-env
python -m pyperf compare_to pymysql_bench.json mysql-connector-python_bench.json mariadb_bench.json --table
fi