From: Stephen Finucane Date: Tue, 15 Oct 2019 12:21:41 +0000 (+0100) Subject: docker: Rely on caching X-Git-Tag: v2.2.0-rc1~56 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a0ca2b931187a1514c10d483a731f0ef88f64114;p=thirdparty%2Fpatchwork.git docker: Rely on caching It seems less likely that tox and tox-pyenv will change than our requirements. Split up the 'RUN' steps so we don't have to reinstall the former every time the latter change. Signed-off-by: Stephen Finucane --- diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index 35324b13..550871b6 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -47,15 +47,14 @@ RUN pyenv latest install 2.7 && \ pyenv latest install 3.5 && \ pyenv latest install 3.6 && \ pyenv latest install 3.7 - RUN pyenv global $(pyenv versions --bare | tac) -COPY requirements-*.txt /tmp/ -RUN pip install tox tox-pyenv && \ - pip install -r /tmp/requirements-dev.txt +RUN pip install tox tox-pyenv -# we deliberately leave the requirements files in tmp so we can -# ping the user in entrypoint.sh if the change them! +# we deliberately leave the requirements files in /opt so we can ping the user +# in entrypoint.sh if they change +COPY requirements-dev.txt requirements-test.txt /opt/ +RUN pip install -r /opt/requirements-dev.txt COPY tools/docker/entrypoint.sh /usr/local/bin/entrypoint.sh ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] diff --git a/tools/docker/entrypoint.sh b/tools/docker/entrypoint.sh index 456d640d..6314f1b6 100755 --- a/tools/docker/entrypoint.sh +++ b/tools/docker/entrypoint.sh @@ -70,7 +70,7 @@ fi set +e # check if we need to rebuild because requirements changed -for x in /tmp/requirements-*.txt; do +for x in /opt/requirements-*.txt; do if ! cmp $x ~/patchwork/$(basename $x); then cat << EOF A requirements file has changed.