- Python3.8
- pip
- docker
- git
- OpenJDK 8
Following commands will install all project dependencies using Pipenv
- Updates the package sources list
sudo apt-get -y update
git
install.sudo apt-get install -y git-all
pip
installsudo apt-get install -y python3-pip
python
imported packages (Please note that the defaultPython
version should be3.8
)apt-get install -y build-essential libssl-dev libffi-dev python3-dev python3.8-venv
All repositories should be under the same base folder
git clone git@github.com:datastax/python-driver.git datastax-python-driver &
git clone git@github.com:scylladb/python-driver.git scylla-python-driver &
git clone git@github.com:scylladb/scylla.git scylla &
git clone git@github.com:scylladb/scylla-ccm.git scylla-ccm &
git git@github.com:scylladb/python-driver-matrix.git python-driver-matrix &
wait
- Execute the main.py wrapper like:
- Running with scylla-python-driver:
- Scylla driver:
# Run all standard tests on latest python-driver tag (--versions 1) python3 main.py ../scylla-python-driver ../scylla --tests tests.integration.standard --driver-type scylla --versions 1 --protocols 3,4 # Run all standard tests with specific python-driver tag (--versions 3.25.0-scylla) python3 main.py ../scylla-python-driver ../scylla --tests tests.integration.standard --driver-type scylla --versions 3.25.0-scylla --protocols 3,4
- Datastax driver:
# Run all standard tests on latest python-driver tag (--versions 1) python3 main.py ../datastax-python-driver ../scylla --tests tests.integration.standard --driver-type datastax --versions 1 --protocols 3,4 # Run all standard tests with specific python-driver tag (--versions 3.25.0) python3 main.py ../datastax-python-driver ../scylla --tests tests.integration.standard --driver-type datastax --versions 3.25.0-scylla --protocols 3,4
- Scylla driver:
- Running with docker image:
- Scylla driver:
export INSTALL_DIRECTORY=../scylla # running with anything other then release, this should be added # export CASSANDRA_DIR=../scylla/build/debug ./scripts/run_test.sh python main.py ../scylla-python-driver $INSTALL_DIRECTORY --tests tests.integration.standard --driver-type scylla --versions 3.25.0 --protocol 3,4
- Datastax driver:
export INSTALL_DIRECTORY=../scylla # running with anything other then release, this should be added # export CASSANDRA_DIR=../scylla/build/debug ./scripts/run_test.sh python main.py ../datastax-python-driver $INSTALL_DIRECTORY --tests tests.integration.standard --driver-type datastax --versions 3.25.0 --protocol 3,4
- Scylla driver:
- Running with relocatable packages:
- Scylla driver:
export SCYLLA_VERSION=unstable/master:2021-12-16T09:10:53Z ./scripts/run_test.sh python main.py ../scylla-python-driver --tests tests.integration.standard --driver-type scylla --versions 3.25.0 --protocol 3,4 --scylla-version $SCYLLA_VERSION
- Datastax driver:
export SCYLLA_VERSION=unstable/master:2021-12-16T09:10:53Z ./scripts/run_test.sh python main.py ../datastax-python-driver --tests tests.integration.standard --driver-type datastax --versions 3.25.0 --protocol 3,4 --scylla-version $SCYLLA_VERSION
- Scylla driver:
- Running from PyCharm:
- Create a basic Python configure.
- Working directory value is:
/home/oren/Desktop/github/python-driver-matrix
- Script path value is:
main.py
- Parameters value are:
/home/oren/Desktop/github/python-driver /home/oren/Desktop/github/scylla --driver-type scylla --scylla-version unstable/master/2022-01-03T13_22_36Z --versions 1
- Environment variables are:
PYTHONUNBUFFERED=1; MAPPED_SCYLLA_VERSION=3.11.4
- Running with scylla-python-driver:
When doing changes to requirements.txt
, or any other change to docker image, it can be uploaded like this:
export MATRIX_DOCKER_IMAGE=scylladb/scylla-python-driver-matrix:python3.9-$(date +'%Y%m%d')
docker build ./scripts -t ${MATRIX_DOCKER_IMAGE}
docker push ${MATRIX_DOCKER_IMAGE}
echo "${MATRIX_DOCKER_IMAGE}" > scripts/image
Note: you'll need permissions on the scylladb dockerhub organization for uploading images