diff --git a/.ci-scripts/build-integration-test.yml b/.ci-scripts/build-integration-test.yml
index 02d14d8754c4a57f9fe185a8484f53f7528c2d6a..241440a5df367c8b178761dd44d7f22bbe28dbac 100644
--- a/.ci-scripts/build-integration-test.yml
+++ b/.ci-scripts/build-integration-test.yml
@@ -8,6 +8,7 @@ build-integration-test:
     - setup-integration-test
   cache:
     when: always
+    key: ${CI_PIPELINE_ID}
     paths:
       - ${CI_PROJECT_DIR}
 
diff --git a/.ci-scripts/run-integration-test.yml b/.ci-scripts/run-integration-test.yml
index b11d1aaad8bade7ee1445865ced0175c7c43e128..bba198545ddfc2aa5cd2f536a4dfc401a0dafe6d 100644
--- a/.ci-scripts/run-integration-test.yml
+++ b/.ci-scripts/run-integration-test.yml
@@ -5,7 +5,8 @@ run-integration-test:
   needs:
     - build-integration-test
   cache:
-    when: always
+    when: on_success
+    key: ${CI_PIPELINE_ID}
     paths:
       - ${CI_PROJECT_DIR}
 
diff --git a/.ci-scripts/setup-integration-test.yml b/.ci-scripts/setup-integration-test.yml
index e1af3e89c30d163e4bd613c58999d0856deba724..99331394821ab05bc1939dfe68f77b20765e9ffd 100644
--- a/.ci-scripts/setup-integration-test.yml
+++ b/.ci-scripts/setup-integration-test.yml
@@ -5,6 +5,7 @@ setup-integration-test:
     - INTEGRATION-TEST
   cache:
     when: always
+    key: ${CI_PIPELINE_ID}
     paths:
       - ${CI_PROJECT_DIR}