diff mbox series

[v2,1/3] docker: Rely on caching

Message ID 20191017103408.28275-1-stephen@that.guru
State Accepted
Headers show
Series [v2,1/3] docker: Rely on caching | expand

Commit Message

Stephen Finucane Oct. 17, 2019, 10:34 a.m. UTC
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 <stephen@that.guru>
---
 tools/docker/Dockerfile | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

Comments

Stephen Finucane Oct. 17, 2019, 12:12 p.m. UTC | #1
On Thu, 2019-10-17 at 11:34 +0100, Stephen Finucane wrote:
> 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 <stephen@that.guru>

Test only change. Everything runs locally so I've gone ahead and
applied this, albeit with some slight tweaks (I forgot to include the
change to 'entrypoint.sh' in this patch).

Stephen

> ---
>  tools/docker/Dockerfile | 11 +++++------
>  1 file changed, 5 insertions(+), 6 deletions(-)
> 
> diff --git tools/docker/Dockerfile tools/docker/Dockerfile
> index 35324b13..79408041 100644
> --- tools/docker/Dockerfile
> +++ 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 tmp 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 mbox series

Patch

diff --git tools/docker/Dockerfile tools/docker/Dockerfile
index 35324b13..79408041 100644
--- tools/docker/Dockerfile
+++ 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 tmp 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"]