add script for deleting PR builds form bucket

Signed-off-by: Jakub Sokołowski <jakub@status.im>
This commit is contained in:
Jakub Sokołowski 2018-10-11 10:05:12 -04:00
parent e248145683
commit 219c982da8
No known key found for this signature in database
GPG Key ID: 4EF064D0E6D63020
1 changed files with 36 additions and 0 deletions

36
s3utils/delete_prs.py Normal file
View File

@ -0,0 +1,36 @@
#!/usr/bin/env python3
import os
import boto3
import botocore
BUCKET = 'status-im'
session = boto3.session.Session()
s3 = session.client('s3',
region_name='ams3',
endpoint_url='https://ams3.digitaloceanspaces.com',
aws_access_key_id=os.environ['DO_ID'],
aws_secret_access_key=os.environ['DO_SECRET'])
def exists(name):
try:
s3.get_object(Bucket=BUCKET, Key=name)
except s3.exceptions.NoSuchKey:
return False
return True
for f in s3.list_objects_v2(Bucket=BUCKET, MaxKeys=9999)['Contents']:
name = f['Key']
build_type = name.split('-')[-1].split('.')[0]
if build_type == 'e2e':
# if an e2e build has a release or a nightly it's not a PR
not_pr = any([
exists(name.replace('e2e', 'release')),
exists(name.replace('e2e', 'nightly'))
])
if not_pr:
continue
elif build_type != 'pr':
continue
print('DELETING: {}:{}'.format(BUCKET, name))
s3.delete_object(Bucket=BUCKET, Key=name)