From fd71c22706916253afb06913ed2bba2809b39f1a Mon Sep 17 00:00:00 2001
From: Konrad Mohrfeldt <km@roko.li>
Date: Mon, 22 Jul 2024 23:51:26 +0200
Subject: [PATCH] tests: cache node_modules in docker-compose test runner

---
 tests/Dockerfile         | 1 +
 tests/docker-compose.yml | 6 ++++++
 2 files changed, 7 insertions(+)

diff --git a/tests/Dockerfile b/tests/Dockerfile
index 19671629..94b32cd6 100644
--- a/tests/Dockerfile
+++ b/tests/Dockerfile
@@ -4,3 +4,4 @@ RUN apt update -y && \
     apt-get clean -y
 USER pwuser
 RUN mkdir /home/pwuser/app
+RUN mkdir /home/pwuser/app/.npm
diff --git a/tests/docker-compose.yml b/tests/docker-compose.yml
index 929537c3..00c070df 100644
--- a/tests/docker-compose.yml
+++ b/tests/docker-compose.yml
@@ -119,6 +119,8 @@ services:
     working_dir: /home/pwuser/app
     user: pwuser
     env_file: [env]
+    environment:
+      NPM_CI_ARGS: --cache .npm --prefer-offline
     command:
       - '-c'
       - |
@@ -128,6 +130,7 @@ services:
         wait-for-it -t 0 -h "$TANK_HOST" -p "$TANK_PORT"
         make test-local
     volumes:
+      - npm_cache:/home/pwuser/app/.npm
       - ../public/:/home/pwuser/app/public/
       - ../src/:/home/pwuser/app/src/
       - ../tests/:/home/pwuser/app/tests/
@@ -149,3 +152,6 @@ services:
       - ../tsconfig.json:/home/pwuser/app/tsconfig.json
       - ../vite.config.ts:/home/pwuser/app/vite.config.ts
       - ../vitest.config.ts:/home/pwuser/app/vitest.config.ts
+
+volumes:
+  npm_cache:
-- 
GitLab