Replace runner workflow with direct binary release publisher via Gitea API

This commit is contained in:
2026-09-03 21:39:23 +02:00
parent 52fd645f17
commit 5974811c29
3 changed files with 27 additions and 52 deletions
+10 -3
View File
@@ -68,12 +68,19 @@ def create_or_get_release(base_url, repo, tag, token, title=None, notes=None):
def main():
parser = argparse.ArgumentParser(description="Upload LOGAR compiled binaries directly to Gitea Release")
parser.add_argument("--tag", required=True, help="Release tag name (e.g. v1.0.0)")
parser.add_argument("--token", required=True, help="Gitea Personal Access Token")
parser.add_argument("--token", default=os.environ.get("GITEA_TOKEN"), help="Gitea Personal Access Token (or set GITEA_TOKEN env var)")
parser.add_argument("--url", default=DEFAULT_GITEA_URL, help="Base Gitea instance URL")
parser.add_argument("--repo", default=DEFAULT_REPO, help="Repository owner/name")
parser.add_argument("--skip-build", action="store_true", help="Skip running package_dist.py before upload")
args = parser.parse_args()
token = args.token
if not token:
token = input("Enter Gitea Personal Access Token: ").strip()
if not token:
print("[!] Token is required.")
sys.exit(1)
if not args.skip_build:
print("[*] Assembling compiled binaries...")
package_dist.main()
@@ -84,13 +91,13 @@ def main():
sys.exit(1)
print(f"[*] Connecting to Gitea: {args.url} (repo: {args.repo})...")
release_id = create_or_get_release(args.url, args.repo, args.tag, args.token)
release_id = create_or_get_release(args.url, args.repo, args.tag, token)
print(f"[*] Uploading binary assets from '{dist_dir}'...")
for f in sorted(os.listdir(dist_dir)):
fpath = os.path.join(dist_dir, f)
if os.path.isfile(fpath):
upload_file_to_release(args.url, args.repo, release_id, args.token, fpath)
upload_file_to_release(args.url, args.repo, release_id, token, fpath)
print(f"\n[+] Release successfully published with binary assets: {args.url}/{args.repo}/releases/tag/{args.tag}")