From 9e7fba5571cac05e6b00c600341ddf18b6d5dffb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Simon=20K=C3=BCnzel?= <simonk@fsmpi.rwth-aachen.de>
Date: Tue, 25 Feb 2025 20:47:17 +0100
Subject: [PATCH] Add package caching for CI

---
 api/Dockerfile                             | 3 ++-
 common_py/Dockerfile                       | 3 ++-
 job_controller/Dockerfile                  | 3 ++-
 job_controller/jobs/ffmpeg_base/Dockerfile | 4 +++-
 4 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/api/Dockerfile b/api/Dockerfile
index 87d71a0..25b4670 100755
--- a/api/Dockerfile
+++ b/api/Dockerfile
@@ -6,7 +6,8 @@ FROM registry.git.fsmpi.rwth-aachen.de/videoag/backend/${ENV_TYPE}_common_py:${G
 ENV VIDEOAG_API_GIT_COMMIT_HASH $GIT_COMMIT_SHA
 
 COPY extra_requirements.txt ./
-RUN pip3 install -r extra_requirements.txt
+RUN --mount=type=cache,target=/root/.cache/pip \
+    pip3 install -r extra_requirements.txt
 
 COPY docker_start.sh ./
 COPY .pylintrc ./
diff --git a/common_py/Dockerfile b/common_py/Dockerfile
index 14602ba..60f2f1e 100755
--- a/common_py/Dockerfile
+++ b/common_py/Dockerfile
@@ -6,6 +6,7 @@ RUN mkdir -p /code
 WORKDIR /code
 
 COPY requirements.txt /code
-RUN pip3 install -r requirements.txt
+RUN --mount=type=cache,target=/root/.cache/pip \
+    pip3 install -r requirements.txt
 
 COPY src/videoag_common /code/src/videoag_common
diff --git a/job_controller/Dockerfile b/job_controller/Dockerfile
index b101e64..fdf2366 100644
--- a/job_controller/Dockerfile
+++ b/job_controller/Dockerfile
@@ -10,7 +10,8 @@ ENV VIDEOAG_JOB_CONTROLLER_GIT_COMMIT_HASH $GIT_COMMIT_SHA
 ENV VIDEOAG_JOB_CONTROLLER_GIT_COMMIT_TAG $GIT_COMMIT_TAG
 
 COPY extra_requirements.txt ./
-RUN pip install -r extra_requirements.txt
+RUN --mount=type=cache,target=/root/.cache/pip \
+    pip install -r extra_requirements.txt
 
 COPY jobs ./jobs/
 
diff --git a/job_controller/jobs/ffmpeg_base/Dockerfile b/job_controller/jobs/ffmpeg_base/Dockerfile
index 3817a9e..adf7f36 100644
--- a/job_controller/jobs/ffmpeg_base/Dockerfile
+++ b/job_controller/jobs/ffmpeg_base/Dockerfile
@@ -5,5 +5,7 @@ ARG ENV_TYPE
 ARG GIT_COMMIT_SHA
 FROM registry.git.fsmpi.rwth-aachen.de/videoag/backend/${ENV_TYPE}_job_base:${GIT_COMMIT_SHA}
 
-RUN apt-get update && apt-get install -y ffmpeg
+RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
+    --mount=type=cache,target=/var/lib/apt,sharing=locked \
+    apt-get update && apt-get --no-install-recommends install -y ffmpeg
 
-- 
GitLab