diff --git a/testing/dbtest/docker/Dockerfile.11-alpine b/testing/dbtest/docker/Dockerfile.11-alpine index f569cac04a..bb1098f7a8 100644 --- a/testing/dbtest/docker/Dockerfile.11-alpine +++ b/testing/dbtest/docker/Dockerfile.11-alpine @@ -1,6 +1,7 @@ FROM postgres:11-alpine ADD init-db.sh /docker-entrypoint-initdb.d/00-init-db.sh +ADD restore-benchmark-dumps.sh /docker-entrypoint-initdb.d/01-restore-benchmark-dumps.sh ADD postgresql.conf /etc/postgresql/postgresql.conf CMD ["postgres", "-c", "config_file=/etc/postgresql/postgresql.conf"] diff --git a/testing/dbtest/docker/Dockerfile.12-alpine b/testing/dbtest/docker/Dockerfile.12-alpine index 3ffdb3d35e..37fc19200c 100644 --- a/testing/dbtest/docker/Dockerfile.12-alpine +++ b/testing/dbtest/docker/Dockerfile.12-alpine @@ -1,6 +1,7 @@ FROM postgres:12-alpine ADD init-db.sh /docker-entrypoint-initdb.d/00-init-db.sh +ADD restore-benchmark-dumps.sh /docker-entrypoint-initdb.d/01-restore-benchmark-dumps.sh ADD postgresql.conf /etc/postgresql/postgresql.conf CMD ["postgres", "-c", "config_file=/etc/postgresql/postgresql.conf"] diff --git a/testing/dbtest/docker/Dockerfile.13-alpine b/testing/dbtest/docker/Dockerfile.13-alpine index ddab38a164..8279fe13e6 100644 --- a/testing/dbtest/docker/Dockerfile.13-alpine +++ b/testing/dbtest/docker/Dockerfile.13-alpine @@ -1,6 +1,7 @@ FROM postgres:13-alpine ADD init-db.sh /docker-entrypoint-initdb.d/00-init-db.sh +ADD restore-benchmark-dumps.sh /docker-entrypoint-initdb.d/01-restore-benchmark-dumps.sh ADD postgresql.conf /etc/postgresql/postgresql.conf CMD ["postgres", "-c", "config_file=/etc/postgresql/postgresql.conf"] diff --git a/testing/dbtest/docker/Dockerfile.alpine b/testing/dbtest/docker/Dockerfile.alpine index 1655beab97..d8041ece0b 100644 --- a/testing/dbtest/docker/Dockerfile.alpine +++ b/testing/dbtest/docker/Dockerfile.alpine @@ -1,6 +1,7 @@ FROM postgres:alpine ADD init-db.sh /docker-entrypoint-initdb.d/00-init-db.sh +ADD restore-benchmark-dumps.sh /docker-entrypoint-initdb.d/01-restore-benchmark-dumps.sh ADD postgresql.conf /etc/postgresql/postgresql.conf CMD ["postgres", "-c", "config_file=/etc/postgresql/postgresql.conf"] diff --git a/testing/dbtest/docker/Makefile b/testing/dbtest/docker/Makefile index 8818bbb5e1..31f0ad10b6 100644 --- a/testing/dbtest/docker/Makefile +++ b/testing/dbtest/docker/Makefile @@ -47,6 +47,7 @@ database-up: -e PGDATA=/pgdata \ --mount type=tmpfs,destination=/pgdata \ -v "$(CWD)/../../../internal/db/schema/migrations":/migrations \ + -v "$(CWD)/benchmark_dumps":/benchmark_dumps \ $(TEST_IMAGE_TAG) \ -c 'config_file=/etc/postgresql/postgresql.conf' \ $(PG_OPTS) 1> /dev/null diff --git a/testing/dbtest/docker/restore-benchmark-dumps.sh b/testing/dbtest/docker/restore-benchmark-dumps.sh new file mode 100644 index 0000000000..324e077cd0 --- /dev/null +++ b/testing/dbtest/docker/restore-benchmark-dumps.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +set -e +shopt -s globstar + +for file in $(ls -v /benchmark_dumps/*.dump); do + echo "Creating template database based on: ${file}" + db_name="boundary_$(basename ${file} .dump)_template" + psql -v "ON_ERROR_STOP=1" --username "$POSTGRES_USER" --dbname "${POSTGRES_DB}" -q <