FROM postgres:${PG_VERSION}-alpine

# Install dependencies
RUN apk add --no-cache \
	openssl curl \
	cmocka-dev \
	perl perl-ipc-run \
	python3 python3-dev py3-virtualenv \
	coreutils linux-headers \
	make musl-dev gcc bison flex \
	zlib-dev libedit-dev \
	clang clang-analyzer;

# Install fresh valgrind
RUN apk add valgrind \
	--update-cache \
	--repository http://dl-3.alpinelinux.org/alpine/edge/main;

# Environment
ENV LANG=C.UTF-8 PGDATA=/pg/data

# Make directories
RUN	mkdir -p ${PGDATA} && \
	mkdir -p /pg/testdir

# Add data to test dir
ADD . /pg/testdir

# Grant privileges
RUN	chown -R postgres:postgres ${PGDATA} && \
	chown -R postgres:postgres /pg/testdir && \
	chmod a+rwx /usr/local/lib/postgresql && \
	chmod a+rwx /usr/local/share/postgresql/extension

COPY run_tests.sh /run.sh
RUN chmod 755 /run.sh

USER postgres
WORKDIR /pg/testdir
ENTRYPOINT LEVEL=${LEVEL} /run.sh