Differentiation of CI cache keys in release/support branches
Since we activated the CI cache for the Rails app, we've been basing the cache key on the GitLab minor version, with values such as hpd-rails-13.7
.
Up to now, the cache keys are identical between the release/support branches (such as heptapod-0-19
) and the
development branches (such as heptapod-oldstable
). Among those, the GitLab patch version differs. With Heptapod versions now lasting longer, the divergence gets bigger. For instance heptapod-oldstable
is based on GitLab 13.7.1 while heptapod-0-19
is based on 13.7.8. The merge from upstream occurred earlier with Heptapod 0.20: heptapod
is based on 13.9.0-rc42.
The new rule should be:
- developpement branches:
heptapod-on-gitlab-13.7
(changed for clarity only). It means "GitLab 13.7 at latest revision merged in current branch" - release/support branches:
heptapod-0-20
, or actually simply$CI_COMMIT_HG_BRANCH
.
In development branches, we don't want to simply use the branch name variable, because the MR for upstream version bumps would pollute the cache. We don't want to add the topic variable either, because that would make the cache useful only for subsequent runs of a single MR.