From 939a768357db47182c5ea5d6f4efbff5f3e3b433 Mon Sep 17 00:00:00 2001 From: AutonomousHansen <50837800+AutonomousHansen@users.noreply.github.com> Date: Sat, 10 Feb 2024 04:41:33 -0500 Subject: [PATCH] Adds mount-cacheing for pip in Dockerfile (#383) # Description We frequently reinstall pip packages when building the docker, even when the downloaded packages have not changed between builds. This allows us to look in `/root/.cache/pip` (on the image) for cached pip packages. This speeds up our build significantly. Adds a [mount cache ](https://docs.docker.com/build/cache/#use-the-dedicated-run-cache)to the Dockerfile for the line `${ORBIT_PATH}/orbit.sh --install --extra`, significantly increasing speeds by preventing repeated downloads of large packages ## Type of change - New feature (non-breaking change which adds functionality) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have run all the tests with `./orbit.sh --test` and they pass - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there --- docker/Dockerfile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 2d18bf77d3..7d3a3d33bb 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -65,7 +65,10 @@ RUN touch /bin/nvidia-smi && \ touch /var/run/nvidia-persistenced/socket # installing Orbit dependencies -RUN ${ORBIT_PATH}/orbit.sh --install --extra +# use pip caching to avoid reinstalling large packages +RUN --mount=type=cache,target=/${DOCKER_USER_HOME}/.cache/pip \ + ${ORBIT_PATH}/orbit.sh --install --extra + # aliasing orbit.sh and python for convenience RUN echo "alias orbit=${ORBIT_PATH}/orbit.sh" >> ${HOME}/.bashrc && \ echo "alias python=${ISAACSIM_PATH}/python.sh" >> ${HOME}/.bashrc && \