# HG changeset patch
# User Balasankar 'Balu' C <balasankar@gitlab.com>
# Date 1742271419 -19800
#      Tue Mar 18 09:46:59 2025 +0530
# Node ID f05ad3c5b33d80c604a719c467aa1eea19eb0d99
# Parent  3b3ef09e1d86f13146f6c33d35bbede0fb304766
Use per-branch cache with master branch as fallback

- Each branch merge request caches its own results and
  if that cache is not present, uses cache from the
  default pipeline.

Signed-off-by: Balasankar 'Balu' C <balasankar@gitlab.com>

diff --git a/gitlab-ci-config/dev-gitlab-org.yml b/gitlab-ci-config/dev-gitlab-org.yml
--- a/gitlab-ci-config/dev-gitlab-org.yml
+++ b/gitlab-ci-config/dev-gitlab-org.yml
@@ -32,7 +32,9 @@
   - node_modules
 
 .branch-cache:
-  key: "${CI_JOB_NAME}-${BUILDER_IMAGE_REVISION}-${CACHE_EDITION}${CACHE_KEY_SUFFIX}"
+  key: "${CI_JOB_NAME}-${BUILDER_IMAGE_REVISION}-${CACHE_EDITION}${CACHE_KEY_SUFFIX}-${CI_COMMIT_REF_SLUG}"
+  fallback_keys:
+    - "${CI_JOB_NAME}-${BUILDER_IMAGE_REVISION}-${CACHE_EDITION}${CACHE_KEY_SUFFIX}-${CI_DEFAULT_BRANCH}"
   paths: !reference [.cache-paths]
   policy: $CACHE_POLICY
 
diff --git a/gitlab-ci-config/gitlab-com.yml b/gitlab-ci-config/gitlab-com.yml
--- a/gitlab-ci-config/gitlab-com.yml
+++ b/gitlab-ci-config/gitlab-com.yml
@@ -86,8 +86,6 @@
       junit: junit_rspec.xml
 
 .base-trigger-job-variables:
-  # In trigger jobs, we don't want to pollute cache
-  CACHE_POLICY: 'pull'
   ALTERNATIVE_SOURCES: 'true'
   SECURITY_SOURCES: ${SECURITY_SOURCES}
   BUILDER_IMAGE_REVISION: ${BUILDER_IMAGE_REVISION}