Separate CircleCI cache between main and pull (or other branches) (#24886)
* fix * fix * fix --------- Co-authored-by: ydshieh <ydshieh@users.noreply.github.com>
This commit is contained in:
@@ -86,6 +86,11 @@ class CircleCIJob:
|
|||||||
def to_dict(self):
|
def to_dict(self):
|
||||||
env = COMMON_ENV_VARIABLES.copy()
|
env = COMMON_ENV_VARIABLES.copy()
|
||||||
env.update(self.additional_env)
|
env.update(self.additional_env)
|
||||||
|
|
||||||
|
cache_branch_prefix = os.environ.get("CIRCLE_BRANCH", "pull")
|
||||||
|
if cache_branch_prefix != "main":
|
||||||
|
cache_branch_prefix = "pull"
|
||||||
|
|
||||||
job = {
|
job = {
|
||||||
"working_directory": self.working_directory,
|
"working_directory": self.working_directory,
|
||||||
"docker": self.docker_image,
|
"docker": self.docker_image,
|
||||||
@@ -101,16 +106,21 @@ class CircleCIJob:
|
|||||||
{
|
{
|
||||||
"restore_cache": {
|
"restore_cache": {
|
||||||
"keys": [
|
"keys": [
|
||||||
f"v{self.cache_version}-{self.cache_name}-pip-" + '{{ checksum "setup.py" }}',
|
# check the fully-matched cache first
|
||||||
f"v{self.cache_version}-{self.cache_name}-pip-",
|
f"v{self.cache_version}-{self.cache_name}-{cache_branch_prefix}-pip-" + '{{ checksum "setup.py" }}',
|
||||||
|
# try the partially-matched cache from `main`
|
||||||
|
f"v{self.cache_version}-{self.cache_name}-main-pip-",
|
||||||
|
# try the general partially-matched cache
|
||||||
|
f"v{self.cache_version}-{self.cache_name}-{cache_branch_prefix}-pip-",
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"restore_cache": {
|
"restore_cache": {
|
||||||
"keys": [
|
"keys": [
|
||||||
f"v{self.cache_version}-{self.cache_name}-site-packages-" + '{{ checksum "setup.py" }}',
|
f"v{self.cache_version}-{self.cache_name}-{cache_branch_prefix}-site-packages-" + '{{ checksum "setup.py" }}',
|
||||||
f"v{self.cache_version}-{self.cache_name}-site-packages-",
|
f"v{self.cache_version}-{self.cache_name}-main-site-packages-",
|
||||||
|
f"v{self.cache_version}-{self.cache_name}-{cache_branch_prefix}-site-packages-",
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -119,7 +129,7 @@ class CircleCIJob:
|
|||||||
steps.append(
|
steps.append(
|
||||||
{
|
{
|
||||||
"save_cache": {
|
"save_cache": {
|
||||||
"key": f"v{self.cache_version}-{self.cache_name}-pip-" + '{{ checksum "setup.py" }}',
|
"key": f"v{self.cache_version}-{self.cache_name}-{cache_branch_prefix}-pip-" + '{{ checksum "setup.py" }}',
|
||||||
"paths": ["~/.cache/pip"],
|
"paths": ["~/.cache/pip"],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -127,7 +137,7 @@ class CircleCIJob:
|
|||||||
steps.append(
|
steps.append(
|
||||||
{
|
{
|
||||||
"save_cache": {
|
"save_cache": {
|
||||||
"key": f"v{self.cache_version}-{self.cache_name}-site-packages-" + '{{ checksum "setup.py" }}',
|
"key": f"v{self.cache_version}-{self.cache_name}-{cache_branch_prefix}-site-packages-" + '{{ checksum "setup.py" }}',
|
||||||
"paths": ["~/.pyenv/versions/"],
|
"paths": ["~/.pyenv/versions/"],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user