diff options
author | Clement Tsang <34804052+ClementTsang@users.noreply.github.com> | 2023-04-11 04:39:28 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-11 04:39:28 -0400 |
commit | 016fa1e19b2265babe98cec43404c2f992336b34 (patch) | |
tree | 20b6e20bdf0a9649bae43d012130319fbc3eb8b3 | |
parent | 62474be52a5b5f02165874569c52862bfed98fd2 (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.yml | 10 | ||||
-rw-r--r-- | scripts/clear_cache.py | 6 |
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]}.") |