Message ID | 20191017103408.28275-1-stephen@that.guru |
---|---|
State | Accepted |
Headers | show |
Series | [v2,1/3] docker: Rely on caching | expand |
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 --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"]
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(-)