diff --git a/.gitlab-ci-unix.yml b/.gitlab-ci-unix.yml
index 33e1594251b91b6c771c7134709ada11c2f7b714..5cd7315a8ffa4d96337c5fcc66967f0e9775941a 100644
--- a/.gitlab-ci-unix.yml
+++ b/.gitlab-ci-unix.yml
@@ -40,7 +40,7 @@ spec:
   script:
     - cd 3rdp/build
     - touch depend
-    - $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] $BUILD_ARGS libmozjs
+    - $[[ inputs.gnu_make ]] $[[ inputs.build_flags ]] JS_CONFIGURE_ARGS="--config-file=smconfig.cache" $BUILD_ARGS libmozjs
   artifacts:
     expire_in: 30 mins
     name: "spidermonkey-$[[ inputs.os ]]-$[[ inputs.platform ]]"
@@ -50,6 +50,10 @@ spec:
     - if: '"$[[ inputs.no_javascript ]]" == "yes"'
       when: never
     - !reference [.rules, rules]
+  cache:
+    key: $CI_JOB_NAME
+    paths:
+      - 3rdp/build/smconfig.cache
 
 "$[[ inputs.os ]]-$[[ inputs.platform ]] [cryptlib]":
   extends: