mirror of
https://github.com/mariadb-corporation/mariadb-connector-python.git
synced 2025-08-16 17:40:34 +00:00
120 lines
4.3 KiB
YAML
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
|