auto rm release

This commit is contained in:
ytshen 2024-04-12 22:50:36 +08:00
parent 9eb736c410
commit 756c1fd179
2 changed files with 26 additions and 0 deletions

View File

@ -102,6 +102,31 @@ def delete_cache(github_repository, github_token, remain_count=2):
print(f'get caches failed: {e}')
def delete_release(github_repository, github_token, remain_count=2):
headers = github_api_headers(github_token=github_token)
get_release_url = (f'https://api.github.com/repos/{github_repository}'
f'/releases?per_page=100&page=1')
try:
releases_resp = requests.get(get_release_url, headers=headers)
releases = json.loads(releases_resp.content)
if len(releases) < remain_count:
return
delete_release_url = f'https://api.github.com/repos/{github_repository}/releases/'
for release in releases[remain_count:]:
release_tag = release.get('tag_name')
if release_id := release.get('id'):
try:
delete_release_resp = requests.delete(f'{delete_release_url}{release_id}', headers=headers)
if delete_release_resp.status_code == 204:
print(f'delete {release_tag} succeed')
else:
print(f'delete {release_tag} failed: {delete_release_resp.text}')
except Exception as e:
print(f'delete cache for {release_tag} failed: {e}')
except Exception as e:
print(f'get releases failed: {e}')
def rate_limit(github_token):
try:
resp = requests.get('https://api.github.com/rate_limit', headers=github_api_headers(github_token=github_token))

View File

@ -253,6 +253,7 @@ if __name__ == '__main__':
upload_file_name='addon_infos.json',
upload_file=args.output,
github_token=args.github_token)
delete_release(args.github_repository, github_token=args.github_token)
update_cache(args.cache_directory, args.runtime_xpi_directory, args.cache_lockfile)