|
1 |
| -FROM ${PG_IMAGE} |
| 1 | +FROM postgres:${PG_VERSION}-alpine |
2 | 2 |
|
3 |
| -ENV LANG=C.UTF-8 PGDATA=/pg/data |
| 3 | +# Install dependencies |
| 4 | +RUN apk add --no-cache \ |
| 5 | + openssl curl \ |
| 6 | + cmocka-dev \ |
| 7 | + perl perl-ipc-run \ |
| 8 | + python3 python3-dev py-virtualenv \ |
| 9 | + coreutils linux-headers \ |
| 10 | + make musl-dev gcc bison flex \ |
| 11 | + zlib-dev libedit-dev \ |
| 12 | + clang clang-analyzer; |
| 13 | + |
| 14 | +# Install fresh valgrind |
| 15 | +RUN apk add valgrind \ |
| 16 | + --update-cache \ |
| 17 | + --repository http://dl-3.alpinelinux.org/alpine/edge/main; |
4 | 18 |
|
5 |
| -RUN if [ "${CHECK_CODE}" = "clang" ] ; then \ |
6 |
| - echo 'http://dl-3.alpinelinux.org/alpine/edge/main' > /etc/apk/repositories; \ |
7 |
| - apk --no-cache add clang-analyzer make musl-dev gcc; \ |
8 |
| - fi |
| 19 | +# Environment |
| 20 | +ENV LANG=C.UTF-8 PGDATA=/pg/data |
9 | 21 |
|
10 |
| -RUN if [ "${CHECK_CODE}" = "cppcheck" ] ; then \ |
11 |
| - apk --no-cache add cppcheck --repository http://dl-cdn.alpinelinux.org/alpine/v3.6/community; \ |
12 |
| - fi |
| 22 | +# Make directories |
| 23 | +RUN mkdir -p ${PGDATA} && \ |
| 24 | + mkdir -p /pg/testdir |
13 | 25 |
|
14 |
| -RUN if [ "${CHECK_CODE}" = "false" ] ; then \ |
15 |
| - echo 'http://dl-3.alpinelinux.org/alpine/edge/main' > /etc/apk/repositories; \ |
16 |
| - apk --no-cache add curl python3 python3-dev gcc make musl-dev cmocka-dev linux-headers;\ |
17 |
| - pip3 install virtualenv;\ |
18 |
| - fi |
| 26 | +# Add data to test dir |
| 27 | +ADD . /pg/testdir |
19 | 28 |
|
20 |
| -RUN mkdir -p /pg/data && \ |
21 |
| - mkdir /pg/pg_pathman && \ |
22 |
| - chown postgres:postgres ${PGDATA} && \ |
| 29 | +# Grant privileges |
| 30 | +RUN chown -R postgres:postgres ${PGDATA} && \ |
| 31 | + chown -R postgres:postgres /pg/testdir && \ |
23 | 32 | chmod a+rwx /usr/local/lib/postgresql && \
|
24 | 33 | chmod a+rwx /usr/local/share/postgresql/extension
|
25 | 34 |
|
26 |
| -ONBUILD ADD . /pg/pg_pathman |
27 |
| -ONBUILD WORKDIR /pg/pg_pathman |
28 |
| -ONBUILD RUN chmod -R go+rwX /pg/pg_pathman |
29 |
| -ONBUILD USER postgres |
30 |
| -ONBUILD ENTRYPOINT PGDATA=${PGDATA} CHECK_CODE=${CHECK_CODE} bash run_tests.sh |
| 35 | +COPY run_tests.sh /run.sh |
| 36 | +RUN chmod 755 /run.sh |
| 37 | + |
| 38 | +USER postgres |
| 39 | +WORKDIR /pg/testdir |
| 40 | +ENTRYPOINT LEVEL=${LEVEL} /run.sh |
0 commit comments