From f05dc61f16f7178bbc95f5fccbcae13085d59f6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Brunner?= Date: Mon, 9 Mar 2020 10:59:20 +0100 Subject: [PATCH] No error on removing un-existing tag --- ci/clean-dockerhub-tag | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/ci/clean-dockerhub-tag b/ci/clean-dockerhub-tag index 1af5bcfb..78e5f2ed 100755 --- a/ci/clean-dockerhub-tag +++ b/ci/clean-dockerhub-tag @@ -3,27 +3,36 @@ import json import os -import re -import subprocess import sys import requests -def clean(tag_=lambda tag: tag): +def clean(): token = requests.post( "https://hub.docker.com/v2/users/login/", headers={"Content-Type": "application/json"}, - data=json.dumps( - {"username": os.environ["USERNAME"], "password": os.environ["PASSWORD"]} - ), + data=json.dumps({"username": os.environ["USERNAME"], "password": os.environ["PASSWORD"]}), ).json()["token"] with open(os.environ["GITHUB_EVENT_PATH"]) as event_file: - ref = json.loads(event_file.read())["ref"] + ref = json.loads(event_file.read())["ref"].replace("/", "_") + + print("Delete image 'camptocamp/mapserver:{}'.".format(ref)) + + response = requests.head( + "https://hub.docker.com/v2/repositories/camptocamp/mapserver/tags/{tag}/".format(tag=ref), + headers={"Authorization": "JWT " + token}, + ) + if response.status_code == 404: + return + if not response.ok: + print("Error checking image 'camptocamp/mapserver:{}' status.".format(ref)) + print(response.text) + sys.exit(2) response = requests.delete( - "https://hub.docker.com/v2/repositories/camptocamp/mapserver/tags/{tag}/".format(tag=ref,), + "https://hub.docker.com/v2/repositories/camptocamp/mapserver/tags/{tag}/".format(tag=ref), headers={"Authorization": "JWT " + token,}, ) if not response.ok: