3
3
# Best to compile and test as non-root
4
4
ARG nonroot_uid=3973
5
5
6
- # #------------------------------------------------------------------------------
7
- FROM python:3.7 AS py37
8
-
9
- RUN echo "${PYTHON_VERSION}" > /tmp/py37-latest
10
-
11
- # #------------------------------------------------------------------------------
12
- FROM python:3.8 AS py38
13
-
14
- RUN echo "${PYTHON_VERSION}" > /tmp/py38-latest
15
-
16
6
# #------------------------------------------------------------------------------
17
7
FROM python:3.9 AS py39
18
8
@@ -62,72 +52,6 @@ RUN mkdir /usr/local/openssl11 \
62
52
63
53
RUN mkdir /src
64
54
65
- # #------------------------------------------------------------------------------
66
- FROM builder-base AS builder-py37
67
- ARG py_ver=37
68
- ARG nonroot_uid
69
- COPY --from=py37 /tmp/py${py_ver}-latest /tmp/
70
-
71
- RUN mkdir /opt/py${py_ver} && chown -R ${nonroot_uid} /opt/py${py_ver} /src
72
- USER ${nonroot_uid}
73
- WORKDIR /tmp
74
-
75
- RUN export PYTHON_VERSION="$(cat /tmp/py${py_ver}-latest)" \
76
- && curl --silent --show-error --fail --location \
77
- "https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz" \
78
- | tar -xz
79
-
80
- RUN export PYTHON_VERSION="$(cat /tmp/py${py_ver}-latest)" \
81
- && cd "/tmp/Python-${PYTHON_VERSION}" \
82
- && ./configure --prefix=/opt/py${py_ver} --enable-optimizations \
83
- && make -j 4 altinstall
84
-
85
- USER root
86
- ENV PATH=/opt/py${py_ver}/bin:"${PATH}"
87
- RUN pip3 install tox
88
- USER ${nonroot_uid}
89
-
90
- ENV HOME=/src
91
- ENV PATH=/opt/py${py_ver}/bin:"${PATH}"
92
- WORKDIR /src
93
-
94
- ADD django_informixdb/ /src/django_informixdb/
95
- ADD README.rst setup.* tox.ini /src/
96
- RUN tox -e "$(tox --listenvs | grep py${py_ver} | tr '\n ' ',')" --notest # prep venvs
97
-
98
- # #------------------------------------------------------------------------------
99
- FROM builder-base AS builder-py38
100
- ARG py_ver=38
101
- ARG nonroot_uid
102
- COPY --from=py38 /tmp/py${py_ver}-latest /tmp/
103
-
104
- RUN mkdir /opt/py${py_ver} && chown -R ${nonroot_uid} /opt/py${py_ver} /src
105
- USER ${nonroot_uid}
106
- WORKDIR /tmp
107
-
108
- RUN export PYTHON_VERSION="$(cat /tmp/py${py_ver}-latest)" \
109
- && curl --silent --show-error --fail --location \
110
- "https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz" \
111
- | tar -xz
112
-
113
- RUN export PYTHON_VERSION="$(cat /tmp/py${py_ver}-latest)" \
114
- && cd "/tmp/Python-${PYTHON_VERSION}" \
115
- && ./configure --prefix=/opt/py${py_ver} --enable-optimizations \
116
- && make -j 4 altinstall
117
-
118
- USER root
119
- ENV PATH=/opt/py${py_ver}/bin:"${PATH}"
120
- RUN pip3 install tox
121
- USER ${nonroot_uid}
122
-
123
- ENV HOME=/src
124
- ENV PATH=/opt/py${py_ver}/bin:"${PATH}"
125
- WORKDIR /src
126
-
127
- ADD django_informixdb/ /src/django_informixdb/
128
- ADD README.rst setup.* tox.ini /src/
129
- RUN tox -e "$(tox --listenvs | grep py${py_ver} | tr '\n ' ',')" --notest # prep venvs
130
-
131
55
# #------------------------------------------------------------------------------
132
56
FROM builder-base AS builder-py39
133
57
ARG py_ver=39
@@ -206,14 +130,6 @@ COPY --chown=${nonroot_uid} \
206
130
FROM csdk AS multipy
207
131
ARG nonroot_uid
208
132
209
- COPY --from=builder-py37 /opt/py37/ /opt/py37/
210
- COPY --from=builder-py37 /src/.tox/ /src/.tox/
211
- COPY --from=builder-py37 /src/.cache/ /src/.cache/
212
-
213
- COPY --from=builder-py38 /opt/py38/ /opt/py38/
214
- COPY --from=builder-py38 /src/.tox/ /src/.tox/
215
- COPY --from=builder-py38 /src/.cache/ /src/.cache/
216
-
217
133
COPY --from=builder-py39 /opt/py39/ /opt/py39/
218
134
COPY --from=builder-py39 /src/.tox/ /src/.tox/
219
135
COPY --from=builder-py39 /src/.cache/ /src/.cache/
@@ -230,7 +146,7 @@ ADD --chown=${nonroot_uid} django_informixdb/ /src/django_informixdb/
230
146
ADD --chown=${nonroot_uid} test/ /src/test/
231
147
RUN chown ${nonroot_uid} /src
232
148
233
- ENV PATH=/opt/py310/bin:/opt/py39/bin:/opt/py38/bin:/opt/py37/bin: "${PATH}"
149
+ ENV PATH=/opt/py310/bin:/opt/py39/bin:"${PATH}"
234
150
RUN pip3 --no-cache-dir install tox
235
151
236
152
USER ${nonroot_uid}
0 commit comments