Run rondb-docker first again #28
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Run Redis benchmark on Rondis | |
on: | |
# Launch on any push | |
push: | |
pull_request: | |
# Not running on "closed" - that is taken care of by "push" (if merged) | |
types: [opened, synchronize, reopened] | |
jobs: | |
build-and-run-redis-benchmark: | |
runs-on: ubuntu-latest | |
env: | |
RONDB_TARBALL_URI: https://repo.hops.works/master/rondb-22.10.5-linux-glibc2.28-x86_64.tar.gz | |
RONDB_PATH: /tmp/rondb | |
IMAGE_NAME: rondis:latest | |
CONTAINER_NAME: rondis | |
RONDIS_PORT: 6379 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Run rondb-docker | |
env: | |
RONDB_DOCKER_DIR: /tmp/rondb-docker | |
run: | | |
set -x | |
path_now=$(pwd) | |
git clone -b release-0.7 https://github.com/logicalclocks/rondb-docker.git $RONDB_DOCKER_DIR | |
cd $RONDB_DOCKER_DIR && ./build_run_docker.sh -d \ | |
--size small \ | |
--num-mgm-nodes 1 \ | |
--node-groups 1 \ | |
--replication-factor 1 \ | |
--num-mysql-nodes 1 \ | |
--num-rest-api-nodes 0 \ | |
--num-benchmarking-nodes 0 | |
cd $path_now | |
- name: Build Rondis image | |
run: docker build -t $IMAGE_NAME . | |
- name: Download RonDB | |
run: | | |
set -x | |
wget $RONDB_TARBALL_URI -O /tmp/temp_tarball.tar.gz | |
mkdir -p $RONDB_PATH | |
tar xfz /tmp/temp_tarball.tar.gz -C $RONDB_PATH --strip-components=1 | |
- name: Create Rondis environment | |
run: | | |
docker run -d \ | |
--name=$CONTAINER_NAME \ | |
-v $RONDB_PATH:/tmp/rondb \ | |
-e RONDB_PATH=/tmp/rondb \ | |
-p $RONDIS_PORT:$RONDIS_PORT \ | |
$IMAGE_NAME \ | |
tail -f /dev/null | |
- name: Build Pink | |
run: docker exec -i $CONTAINER_NAME bash -c "cd pink && ./build.sh" | |
- name: Run SQL scripts | |
run: | | |
docker exec -i mysqld_1 bash -c "mysql -uroot -e 'CREATE DATABASE redis;'" | |
for sql_file in pink/rondis/sql/*.sql; do | |
docker exec -i mysqld_1 bash -c "mysql -uroot redis < /tmp/rondb/sql/$(basename $sql_file)" | |
done | |
- name: Connect Docker network | |
run: | | |
# Get network name that starts with "rondb" | |
COMPOSE_NETWORK=$(docker network list | grep rondb | awk '{print $2}') | |
docker network connect $COMPOSE_NETWORK $CONTAINER_NAME | |
- name: Run Rondis | |
run: | | |
docker exec -i $CONTAINER_NAME bash -c \ | |
"export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/tmp/rondb/lib && pink/rondis/rondis 6379 mgmd_1:1186 2" | |
- name: Run Redis benchmark | |
run: docker exec -i $CONTAINER_NAME bash \ | |
-c "redis-benchmark -t set -c 2" |