From 237c05f6522a3f9c75261252e4080b28fcbc4a3a Mon Sep 17 00:00:00 2001 From: Layue13 Date: Tue, 10 Nov 2026 16:37:59 +0800 Subject: [PATCH] ci: delete the old generic package file right before re-uploading it The second publish failed with HTTP 409 (package file already exists) because Gitea does not overwrite a generic package file. The previous copy of each file is now deleted just before its upload. Co-Authored-By: Claude Sonnet 5.5 --- .github/workflows/publish-tdlm.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/publish-tdlm.yml b/.github/workflows/publish-tdlm.yml index d186be33bc..1d98d65671 100644 --- a/.github/workflows/publish-tdlm.yml +++ b/.github/workflows/publish-tdlm.yml @@ -138,6 +138,17 @@ jobs: def put(name: str, data: bytes): url = upload_root + "/" + urllib.parse.quote(name, safe="") + # Gitea refuses to overwrite a generic package file (HTTP 409), so the previous copy of this one + # file is deleted right before it is uploaded again (keeps the gap without a file as short as possible). + delete = urllib.request.Request(url, method="DELETE") + delete.add_header("Authorization", "token " + token) + delete.add_header("User-Agent", "tdlm-hmcl-publish") + try: + with urllib.request.urlopen(delete, timeout=300) as response: + response.read() + except urllib.error.HTTPError as exc: + if exc.code != 404: + raise SystemExit("HTTP %s deleting the old %s: %s" % (exc.code, name, exc.read()[:300])) request = urllib.request.Request(url, data=data, method="PUT") request.add_header("Authorization", "token " + token) request.add_header("Content-Type", "application/octet-stream") -- 2.47.3