@@ -5,6 +5,14 @@ description: >
55 For pipenv, no args are provided. Expect the default caching locations for packages and virtualenvs on a debian system with pyenv.
66
77parameters :
8+ cache-key-override :
9+ type : string
10+ default : " "
11+ description : |
12+ Override the built-in cache key. If set, this value will be used as the cache key for restore_cache/save_cache steps.
13+ You can use CircleCI template functions, e.g.:
14+ cache-key-override: "pip-{{ checksum 'dev-requirements.txt' }}-{{ checksum 'requirements.txt' }}"
15+ If not set, the default cache key logic will be used.
816 pkg-manager :
917 type : enum
1018 enum : [auto, poetry, pipenv, pip, pip-dist, uv]
@@ -112,8 +120,8 @@ steps:
112120 command : <<include(scripts/save-python-version.sh)>>
113121 - restore_cache :
114122 keys :
115- - <<parameters.cache-version>>-cci_pycache-<<#parameters.include-branch-in-cache-key>>{{ .Branch }}-<</parameters.include-branch-in-cache-key>><<#parameters.include-python-in-cache-key>>{{ checksum "<<parameters.cache-folder-prefix>>/.temp-python-version" }}-<</parameters.include-python-in-cache-key>>{{ checksum "<<parameters.cache-folder-prefix>>/.cci_pycache/lockfile" }}
116- - <<parameters.cache-version>>-cci_pycache-<<#parameters.include-branch-in-cache-key>>{{ .Branch }}-<</parameters.include-branch-in-cache-key>><<#parameters.include-python-in-cache-key>>{{ checksum "<<parameters.cache-folder-prefix>>/.temp-python-version" }}-<</parameters.include-python-in-cache-key>>
123+ - <<# parameters.cache-key-override>><<parameters.cache-key-override>><</parameters.cache-key-override>><<^parameters.cache-key-override>><<parameters.cache- version>>-cci_pycache-<<#parameters.include-branch-in-cache-key>>{{ .Branch }}-<</parameters.include-branch-in-cache-key>><<#parameters.include-python-in-cache-key>>{{ checksum "<<parameters.cache-folder-prefix>>/.temp-python-version" }}-<</parameters.include-python-in-cache-key>>{{ checksum "<<parameters.cache-folder-prefix>>/.cci_pycache/lockfile" }}<</parameters.cache-key-override>>
124+ - <<^ parameters.cache-key-override>><<parameters.cache- version>>-cci_pycache-<<#parameters.include-branch-in-cache-key>>{{ .Branch }}-<</parameters.include-branch-in-cache-key>><<#parameters.include-python-in-cache-key>>{{ checksum "<<parameters.cache-folder-prefix>>/.temp-python-version" }}-<</parameters.include-python-in-cache-key>><</parameters.cache-key-override >>
117125 - run :
118126 name : Move restored cache
119127 working_directory : << parameters.app-dir >>
@@ -217,6 +225,6 @@ steps:
217225 SCRIPT_UTILS : " <<include(scripts/utils.sh)>>"
218226 command : <<include(scripts/cache-save.sh)>>
219227 - save_cache :
220- key : <<parameters.cache-version>>-cci_pycache-<<#parameters.include-branch-in-cache-key>>{{ .Branch }}-<</parameters.include-branch-in-cache-key>><<#parameters.include-python-in-cache-key>>{{ checksum "<<parameters.cache-folder-prefix>>/.temp-python-version" }}-<</parameters.include-python-in-cache-key>>{{ checksum "<<parameters.cache-folder-prefix>>/.cci_pycache/lockfile" }}
228+ key : <<# parameters.cache-key-override>><<parameters.cache-key-override>><</parameters.cache-key-override>><<^parameters.cache-key-override>><<parameters.cache- version>>-cci_pycache-<<#parameters.include-branch-in-cache-key>>{{ .Branch }}-<</parameters.include-branch-in-cache-key>><<#parameters.include-python-in-cache-key>>{{ checksum "<<parameters.cache-folder-prefix>>/.temp-python-version" }}-<</parameters.include-python-in-cache-key>>{{ checksum "<<parameters.cache-folder-prefix>>/.cci_pycache/lockfile" }}<</parameters.cache-key-override>>
221229 paths :
222230 - <<parameters.cache-folder-prefix>>/.cci_pycache
0 commit comments