summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClement Tsang <34804052+ClementTsang@users.noreply.github.com>2023-04-11 04:39:28 -0400
committerGitHub <noreply@github.com>2023-04-11 04:39:28 -0400
commit016fa1e19b2265babe98cec43404c2f992336b34 (patch)
tree20b6e20bdf0a9649bae43d012130319fbc3eb8b3
parent62474be52a5b5f02165874569c52862bfed98fd2 (diff)
ci: run wf cache clear script twice with delays (#1093)
* ci: run wf cache clear script twice with delays * reduce
-rw-r--r--.github/workflows/clear-workflow-cache.yml10
-rw-r--r--scripts/clear_cache.py6
2 files changed, 14 insertions, 2 deletions
diff --git a/.github/workflows/clear-workflow-cache.yml b/.github/workflows/clear-workflow-cache.yml
index edcc083a..6439ff6a 100644
--- a/.github/workflows/clear-workflow-cache.yml
+++ b/.github/workflows/clear-workflow-cache.yml
@@ -26,11 +26,19 @@ jobs:
with:
fetch-depth: 1
- - run: |
+ # We run each script twice with a small delay in between to try and catch everything.
+ - name: Clear cache
+ run: |
if [[ -n "${{ github.event.schedule }}" ]]; then
python ./scripts/clear_cache.py keep-master
+ sleep 5
+ python ./scripts/clear_cache.py keep-master
elif [[ -z "${{ github.event.inputs.id }}" ]]; then
python ./scripts/clear_cache.py ${{ github.event.pull_request.number }}
+ sleep 5
+ python ./scripts/clear_cache.py ${{ github.event.pull_request.number }}
else
python ./scripts/clear_cache.py ${{ github.event.inputs.id }}
+ sleep 5
+ python ./scripts/clear_cache.py ${{ github.event.inputs.id }}
fi
diff --git a/scripts/clear_cache.py b/scripts/clear_cache.py
index 2c40f76c..39cebe36 100644
--- a/scripts/clear_cache.py
+++ b/scripts/clear_cache.py
@@ -4,9 +4,10 @@
#
# Expects a GitHub token in the environment variables as GITHUB_TOKEN.
-import os
import json
+import os
import sys
+import time
from urllib.error import HTTPError, URLError
from urllib.request import Request, urlopen
@@ -53,6 +54,7 @@ def main():
print("URLError with delete.")
else:
print("Successfully deleted cache ID {}!".format(id))
+ time.sleep(0.1)
elif args[1] == "keep-main" or args[1] == "keep-master":
print("Clearing all but default branch cache.")
with urlopen(cache_list_request(key)) as response:
@@ -70,6 +72,7 @@ def main():
print("URLError with delete.")
else:
print("Successfully deleted cache ID {}!".format(id))
+ time.sleep(0.1)
elif args[1] == "main" or args[1] == "master" or args[1] == "all":
print("Clearing all caches.")
with urlopen(cache_list_request(key)) as response:
@@ -86,6 +89,7 @@ def main():
print("URLError with delete.")
else:
print("Successfully deleted cache ID {}!".format(id))
+ time.sleep(0.1)
else:
print(f"Skipping, given argument {args[1]}.")