diff --git a/bob/devtools/ci.py b/bob/devtools/ci.py
index 20577e80572a2d0c939916afad322b87c2a7d055..a92ee09067c6e24a6e72425c5e808dfe0917175a 100644
--- a/bob/devtools/ci.py
+++ b/bob/devtools/ci.py
@@ -4,7 +4,9 @@
 """Tools to help CI-based builds and artifact deployment."""
 
 
+import contextlib
 import distutils.version
+import os
 
 import git
 
@@ -295,3 +297,26 @@ def cleanup(dry_run, username, password, includes):
                 pyver=True,
                 includes=includes,
             )
+
+
+@contextlib.contextmanager
+def temporary_cwd(path):
+    """Temporarily changes the working directory to a given path
+
+    A context manager that temporarily changes the path to the given directory.
+    The working directory changes the working directory back to the starting
+    directory when it exits.
+
+
+    Args:
+
+      path: The directory to temporarily change to
+
+    """
+
+    oldpwd = os.getcwd()
+    os.chdir(path)
+    try:
+        yield
+    finally:
+        os.chdir(oldpwd)
diff --git a/bob/devtools/data/gitlab-ci/nightlies.yaml b/bob/devtools/data/gitlab-ci/nightlies.yaml
index 2b2ab48af485901dd308c3f2a49730c0d9832e77..0939e810f5b3eca3d685d137b36bbd709a3b918e 100644
--- a/bob/devtools/data/gitlab-ci/nightlies.yaml
+++ b/bob/devtools/data/gitlab-ci/nightlies.yaml
@@ -6,7 +6,8 @@ variables:
   PYTHONUNBUFFERED: "1"
   CONDA_ROOT: "${CI_PROJECT_DIR}/miniconda"
   BOOTSTRAP: "https://gitlab.idiap.ch/bob/bob.devtools/raw/master/bob/devtools/bootstrap.py"
-  TORCH_HOME: "${CI_PROJECT_DIR}/torch"
+  TORCH_HOME: "${CI_PROJECT_DIR}/.cache/torch"
+  PRE_COMMIT_HOME: "${CI_PROJECT_DIR}/.cache/pre-commit"
 
 
 # Definition of our build pipeline order
@@ -26,7 +27,9 @@ stages:
     - conda activate base
   cache:
     paths:
-      - torch
+      - miniconda.sh
+      - ${TORCH_HOME}
+      - ${PRE_COMMIT_HOME}
 
 
 # Build targets
diff --git a/bob/devtools/scripts/ci.py b/bob/devtools/scripts/ci.py
index 0b4bbd3cb114878e52fb2b9019720b17b0f15d67..87ee623f843d7ef66ee4edafe9daa31fa5108583 100644
--- a/bob/devtools/scripts/ci.py
+++ b/bob/devtools/scripts/ci.py
@@ -19,6 +19,7 @@ from ..ci import (
     select_conda_build_config,
     select_conda_recipe_append,
     select_user_condarc,
+    temporary_cwd,
 )
 from ..constants import BASE_CONDARC, SERVER
 from ..deploy import deploy_conda_package, deploy_documentation
@@ -730,8 +731,9 @@ def nightlies(ctx, order, dry_run):
         )
         logger.info("Conda build recipe-append file: %s", append_file)
 
-        logger.info("Running checks")
-        ctx.invoke(check, root=clone_to)
+        logger.info("Running checks...")
+        with temporary_cwd(clone_to):
+            ctx.invoke(check)
 
         logger.info("Building")
         ctx.invoke(