Before running the automation tests, ensure you have:
- Docker and Docker Compose installed
- Both
cloudberry-pxfandcloudberryrepositories cloned in the same parent directory (they will be mounted into the Docker container)
-
Navigate to the
cloudberry-pxfdirectory:cd cloudberry-pxf -
Stop and remove any existing containers and volumes:
docker compose -f ci/docker/pxf-cbdb-dev/ubuntu/docker-compose.yml down -v
-
Build the Docker images:
docker compose -f ci/docker/pxf-cbdb-dev/ubuntu/docker-compose.yml build
-
Start the containers in detached mode:
docker compose -f ci/docker/pxf-cbdb-dev/ubuntu/docker-compose.yml up -d
-
Run the entrypoint script to set up the environment:
docker exec pxf-cbdb-dev bash -lc \ "cd /home/gpadmin/workspace/cloudberry-pxf/ci/docker/pxf-cbdb-dev/ubuntu && ./script/entrypoint.sh"
-
Execute the test suite:
docker exec pxf-cbdb-dev bash -lc \ "cd /home/gpadmin/workspace/cloudberry-pxf/ci/docker/pxf-cbdb-dev/ubuntu && ./script/run_tests.sh"
You can run tests multiple times in one container.
When something went wrong:
Jump into container: docker compose ps + docker exec -it <id> bash
Check logs:
- PXF logs:
/home/gpadmin/pxf-base/logs/ - Hadoop logs:
/home/gpadmin/workspace/singlecluster/storage/logs/