diff --git a/Dockerfile b/Dockerfile index 0cffcd18..74fbad89 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,21 @@ # syntax = docker/dockerfile:1.3 -ARG ALPINE_VERSION=3.17 +ARG ALPINE_VERSION=3.19 FROM alpine:${ALPINE_VERSION} RUN apk add --no-cache git python3 python3-dev py3-pip py3-setuptools build-base -# build wheels in first image +# build wheels in a build stage +ARG VIRTUAL_ENV=/opt/venv +ENV PATH=${VIRTUAL_ENV}/bin:${PATH} + +RUN python3 -m venv ${VIRTUAL_ENV} + ADD . /tmp/src RUN cd /tmp/src && git clean -xfd && git status RUN mkdir /tmp/wheelhouse \ && cd /tmp/wheelhouse \ - && pip3 install wheel \ - && pip3 wheel --no-cache-dir /tmp/src \ + && pip install wheel \ + && pip wheel --no-cache-dir /tmp/src \ && ls -l /tmp/wheelhouse FROM alpine:${ALPINE_VERSION} @@ -18,13 +23,18 @@ FROM alpine:${ALPINE_VERSION} # install python, git, bash, mercurial RUN apk add --no-cache git git-lfs python3 py3-pip py3-setuptools bash docker mercurial +ARG VIRTUAL_ENV=/opt/venv +ENV PATH=${VIRTUAL_ENV}/bin:${PATH} + +RUN python3 -m venv ${VIRTUAL_ENV} + # install hg-evolve (Mercurial extensions) -RUN pip3 install hg-evolve --user --no-cache-dir +RUN pip install hg-evolve --no-cache-dir # install repo2docker COPY --from=0 /tmp/wheelhouse /tmp/wheelhouse -RUN pip3 install --no-cache-dir --ignore-installed --no-deps /tmp/wheelhouse/*.whl \ - && pip3 list +RUN pip install --no-cache-dir --ignore-installed --no-deps /tmp/wheelhouse/*.whl \ + && pip list # add git-credential helper COPY ./docker/git-credential-env /usr/local/bin/git-credential-env