Files
DoGaMa-serv/tools/create_gitea_release.py
T
tony 46bc90a0e8
CI / validate (pull_request) Failing after 2m30s
feat(release): harden production packaging
2026-08-09 22:11:21 +02:00

36 lines
1.1 KiB
Python

#!/usr/bin/env python3
"""Create the Gitea release for the current, already validated tag."""
import json
import os
import sys
import urllib.request
from pathlib import Path
def main() -> int:
notes = Path(sys.argv[1]).read_text(encoding="utf-8")
tag = os.environ["RELEASE_TAG"]
payload = json.dumps({
"tag_name": tag,
"target_commitish": os.environ["RELEASE_COMMIT"],
"name": f"DoGaMa {tag}",
"body": notes,
"draft": False,
"prerelease": "-" in tag,
}).encode()
url = f'{os.environ["GITEA_SERVER_URL"]}/api/v1/repos/{os.environ["GITEA_REPOSITORY"]}/releases'
request = urllib.request.Request(url, data=payload, method="POST", headers={
"Authorization": f'token {os.environ["GITEA_TOKEN"]}',
"Content-Type": "application/json",
})
with urllib.request.urlopen(request, timeout=30) as response:
if response.status != 201:
raise RuntimeError(f"Gitea release creation returned HTTP {response.status}")
print(f"Created Gitea release {tag}.")
return 0
if __name__ == "__main__":
raise SystemExit(main())