mirror of https://github.com/watcha-fr/synapse
Remove `dockerfile-pgtests` (#12336)
parent
5a32ec59b2
commit
15cdcf8f30
@ -0,0 +1 @@ |
||||
Remove the (broadly unused, dev-only) dockerfile for pg tests. |
@ -1,30 +0,0 @@ |
||||
# Use the Sytest image that comes with a lot of the build dependencies |
||||
# pre-installed |
||||
FROM matrixdotorg/sytest:focal |
||||
|
||||
# The Sytest image doesn't come with python, so install that |
||||
RUN apt-get update && apt-get -qq install -y python3 python3-dev python3-pip |
||||
|
||||
# We need tox to run the tests in run_pg_tests.sh |
||||
RUN python3 -m pip install tox |
||||
|
||||
# Initialise the db |
||||
RUN su -c '/usr/lib/postgresql/10/bin/initdb -D /var/lib/postgresql/data -E "UTF-8" --lc-collate="C.UTF-8" --lc-ctype="C.UTF-8" --username=postgres' postgres |
||||
|
||||
# Add a user with our UID and GID so that files get created on the host owned |
||||
# by us, not root. |
||||
ARG UID |
||||
ARG GID |
||||
RUN groupadd --gid $GID user |
||||
RUN useradd --uid $UID --gid $GID --groups sudo --no-create-home user |
||||
|
||||
# Ensure we can start postgres by sudo-ing as the postgres user. |
||||
RUN apt-get update && apt-get -qq install -y sudo |
||||
RUN echo "user ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers |
||||
|
||||
ADD run_pg_tests.sh /run_pg_tests.sh |
||||
# Use the "exec form" of ENTRYPOINT (https://docs.docker.com/engine/reference/builder/#entrypoint) |
||||
# so that we can `docker run` this container and pass arguments to pg_tests.sh |
||||
ENTRYPOINT ["/run_pg_tests.sh"] |
||||
|
||||
USER user |
@ -1,19 +0,0 @@ |
||||
#!/usr/bin/env bash |
||||
|
||||
# This script runs the PostgreSQL tests inside a Docker container. It expects |
||||
# the relevant source files to be mounted into /src (done automatically by the |
||||
# caller script). It will set up the database, run it, and then use the tox |
||||
# configuration to run the tests. |
||||
|
||||
set -e |
||||
|
||||
# Set PGUSER so Synapse's tests know what user to connect to the database with |
||||
export PGUSER=postgres |
||||
|
||||
# Start the database |
||||
sudo -u postgres /usr/lib/postgresql/10/bin/pg_ctl -w -D /var/lib/postgresql/data start |
||||
|
||||
# Run the tests |
||||
cd /src |
||||
export TRIAL_FLAGS="-j 4" |
||||
tox --workdir=./.tox-pg-container -e py37-postgres "$@" |
@ -1,19 +0,0 @@ |
||||
#!/usr/bin/env bash |
||||
|
||||
# This script builds the Docker image to run the PostgreSQL tests, and then runs |
||||
# the tests. It uses a dedicated tox environment so that we don't have to |
||||
# rebuild it each time. |
||||
|
||||
# Command line arguments to this script are forwarded to "tox" and then to "trial". |
||||
|
||||
set -e |
||||
|
||||
# Build, and tag |
||||
docker build docker/ \ |
||||
--build-arg "UID=$(id -u)" \ |
||||
--build-arg "GID=$(id -g)" \ |
||||
-f docker/Dockerfile-pgtests \ |
||||
-t synapsepgtests |
||||
|
||||
# Run, mounting the current directory into /src |
||||
docker run --rm -it -v "$(pwd):/src" -v synapse-pg-test-tox:/tox synapsepgtests "$@" |
Loading…
Reference in new issue