11ARG TIME_WARP=""
22FROM ubuntu:20.04 AS base
3+ ARG TIME_WARP
34
45ENV DEBIAN_FRONTEND=noninteractive
56RUN apt-get update && \
67 apt-get install -y locales && \
7- apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
88 localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 && \
9- rm -rf /var/lib/apt/lists/*
9+ apt-get clean && \
10+ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
1011ENV LANG=en_US.UTF-8
1112
1213# Using apt-get update alone in a RUN statement causes caching issues and subsequent apt-get install instructions fail.
13- RUN apt-get --quiet update && apt-get --quiet install -y \
14- software-properties-common \
15- bash \
16- python3 \
17- python3-pip \
18- git \
19- curl \
20- tar \
21- wget \
22- && rm -rf /var/lib/apt/lists/*
14+ RUN apt-get update && \
15+ apt-get install -y \
16+ software-properties-common \
17+ bash \
18+ python3 \
19+ python3-pip \
20+ git \
21+ curl \
22+ tar \
23+ wget && \
24+ apt-get clean && \
25+ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
2326
2427# Install Build Tools
2528RUN apt-get update && \
2629 apt-get install -y --no-install-recommends \
27- make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev \
28- libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev \
29- libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev \
30+ make \
31+ build-essential \
32+ libssl-dev \
33+ zlib1g-dev \
34+ libbz2-dev \
35+ libreadline-dev\
36+ libsqlite3-dev \
37+ wget \
38+ curl \
39+ llvm \
40+ libncurses5-dev \
41+ xz-utils \
42+ tk-dev\
43+ libxml2-dev \
44+ libxmlsec1-dev \
45+ libffi-dev \
46+ liblzma-dev\
3047 ca-certificates && \
31- apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
48+ apt-get clean && \
49+ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
3250
3351# Install pyenv
3452RUN git clone https://github.com/pyenv/pyenv.git .pyenv
@@ -62,20 +80,21 @@ RUN for version in $PYTHON_VERSIONS; do \
6280 python$version -m pip install -U coverage tox; \
6381 done
6482
83+ ENV DRIVER_TIME_WARP=$TIME_WARP
84+
6585
6686FROM base-py-install AS backend-timewarp
6787WORKDIR /home/root/testkit
6888COPY requirements*.txt .
69- COPY testkit/backend.py testkit/build.py testkit/_common.py .
89+ COPY testkit/backend.py testkit/build.py testkit/_common.py testkit/
7090RUN sed -i 's|-e \. .*$||' requirements*.txt
7191
72- ARG TIME_WARP
7392RUN for version in $PYTHON_VERSIONS; do \
74- TEST_BACKEND_VERSION="python$version" python build.py && \
75- python$version -m pip install --force-reinstall neo4j==${ TIME_WARP} ; \
93+ TEST_BACKEND_VERSION="python$version" python testkit/ build.py && \
94+ python$version -m pip install --force-reinstall neo4j==$TIME_WARP; \
7695 done
7796COPY testkitbackend ./testkitbackend
78- ENTRYPOINT ["python" , "backend.py" ]
97+ ENTRYPOINT ["python" , "testkit/ backend.py" ]
7998
8099
81100FROM base-py-install AS backend
@@ -88,7 +107,6 @@ RUN update-ca-certificates
88107
89108
90109FROM backend${TIME_WARP:+"-timewarp" } AS final
91- ARG TIME_WARP
92- ENV DRIVER_TIME_WARP=$TIME_WARP
110+ RUN env
93111WORKDIR /home/root/testkit
94112EXPOSE 9876/tcp
0 commit comments