Following commands will install all project dependencies using Pipenv
sudo apt-get -y update
git
install.
sudo apt-get install -y git-all
pip
install
sudo apt-get install -y python3-pip
python
imported packages (Please note that the default Python
version should be 3.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:
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:
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
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
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
export SCYLLA_VERSION=unstable/master:265 ./scripts/run_test.sh python main.py ../python-driver --tests tests.integration.standard --versions 3.9.0 --protocol 3 --scylla-version $SCYLLA_VERSION
/home/oren/Desktop/github/python-driver-matrix
main.py
/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
PYTHONUNBUFFERED=1;
MAPPED_SCYLLA_VERSION=3.11.4
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