funkwhale/scripts/clean-unused-artifacts.py

33 wiersze
943 B
Python
Executable File

#!/usr/bin/env python3
import gitlab
TOKEN = "CHANGEME"
CLEAN_BEFORE = "2018-07"
gl = gitlab.Gitlab("https://dev.funkwhale.audio", private_token=TOKEN, per_page=100)
project = gl.projects.get("funkwhale/funkwhale")
jobs = project.jobs.list(as_list=False)
total = jobs.total
for job in jobs:
if job.attributes["ref"] != "develop":
continue
if job.attributes["status"] != "success":
continue
if job.attributes["tag"] is True:
continue
if job.attributes["name"] not in ["build_api", "build_front", "pages"]:
continue
if job.attributes["created_at"].startswith(CLEAN_BEFORE):
continue
relevant = {
"ref": job.attributes["ref"],
"status": job.attributes["status"],
"tag": job.attributes["tag"],
"name": job.attributes["name"],
"created_at": job.attributes["created_at"],
}
print(f"Deleting job {job.id}!", relevant)
job.erase()