From 25925aceefe9abc59439463c89bcde256a339b27 Mon Sep 17 00:00:00 2001 From: mahee96 <47920326+mahee96@users.noreply.github.com> Date: Wed, 25 Feb 2026 03:18:31 +0530 Subject: [PATCH] CI: create tag if required --- scripts/ci/workflow.py | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/scripts/ci/workflow.py b/scripts/ci/workflow.py index 2c3c41ec..866d12d4 100644 --- a/scripts/ci/workflow.py +++ b/scripts/ci/workflow.py @@ -407,12 +407,29 @@ def upload_release(release_name, release_tag, commit_sha, repo, upstream_tag_rec prerelease_flag = "--prerelease" if prerelease else "" latest_flag = "" if update_tag else "--latest=false" - run( - f'gh release edit "{release_tag}" ' - f'--title "{release_name}" ' - f'--notes-file "{body_file}" ' - f'{draft_flag} {prerelease_flag} {latest_flag}' - ) + # create release if it doesn't exist + exists = subprocess.call( + f'gh release view "{release_tag}"', + shell=True, + cwd=ROOT, + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + ) == 0 + + if exists: + run( + f'gh release edit "{release_tag}" ' + f'--title "{release_name}" ' + f'--notes-file "{body_file}" ' + f'{draft_flag} {prerelease_flag} {latest_flag}' + ) + else: + run( + f'gh release create "{release_tag}" ' + f'--title "{release_name}" ' + f'--notes-file "{body_file}" ' + f'{draft_flag} {prerelease_flag} {latest_flag}' + ) run( f'gh release upload "{release_tag}" '