summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--changelog.d/14129.bugfix1
-rw-r--r--changelog.d/14130.misc1
-rw-r--r--docker/Dockerfile4
3 files changed, 5 insertions, 1 deletions
diff --git a/changelog.d/14129.bugfix b/changelog.d/14129.bugfix
new file mode 100644
index 0000000000..c392d07d22
--- /dev/null
+++ b/changelog.d/14129.bugfix
@@ -0,0 +1 @@
+Fix pinning Rust dependencies in docker images.
diff --git a/changelog.d/14130.misc b/changelog.d/14130.misc
new file mode 100644
index 0000000000..b801e172f0
--- /dev/null
+++ b/changelog.d/14130.misc
@@ -0,0 +1 @@
+Cache Rust build cache when building docker images.
diff --git a/docker/Dockerfile b/docker/Dockerfile
index f13d45bcd9..7f8756e8a4 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -135,7 +135,9 @@ ARG TEST_ONLY_IGNORE_POETRY_LOCKFILE
 # Install the synapse package itself.
 # If we have populated requirements.txt, we don't install any dependencies
 # as we should already have those from the previous `pip install` step.
-RUN if [ -z "$TEST_ONLY_IGNORE_POETRY_LOCKFILE" ]; then \
+RUN --mount=type=cache,target=/synapse/target,sharing=locked \
+  --mount=type=cache,target=${CARGO_HOME}/registry,sharing=locked \
+  if [ -z "$TEST_ONLY_IGNORE_POETRY_LOCKFILE" ]; then \
     pip install --prefix="/install" --no-deps --no-warn-script-location /synapse[all]; \
   else \
     pip install --prefix="/install" --no-warn-script-location /synapse[all]; \