From 4a688f20fc0cedde918f98e003951f37729c6da3 Mon Sep 17 00:00:00 2001 From: mahee96 <47920326+mahee96@users.noreply.github.com> Date: Tue, 24 Feb 2026 02:20:10 +0530 Subject: [PATCH] CI: improve more ci worflow --- scripts/ci/workflow.py | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/scripts/ci/workflow.py b/scripts/ci/workflow.py index cfb785a5..2b5e7363 100644 --- a/scripts/ci/workflow.py +++ b/scripts/ci/workflow.py @@ -67,18 +67,28 @@ def reserve_build_number(repo, max_attempts=5): return datetime.datetime.now(datetime.UTC).strftime("%Y-%m-%dT%H:%M:%SZ") def read(): - if not version_json.exists(): - branch = runAndGet("git rev-parse --abbrev-ref HEAD", cwd=repo) + branch = runAndGet("git rev-parse --abbrev-ref HEAD", cwd=repo) - data = { - "build": 0, - "issued_at": utc_now(), - "tag": branch, - } - version_json.write_text(json.dumps(data, indent=2) + "\n") - return data + defaults = { + "build": 0, + "issued_at": utc_now(), + "tag": branch, + } - return json.loads(version_json.read_text()) + if version_json.exists(): + data = json.loads(version_json.read_text()) + else: + data = {} + + # fill missing fields + for k, v in defaults.items(): + data.setdefault(k, v) + + # ensure tag always tracks current branch + data["tag"] = branch + + version_json.write_text(json.dumps(data, indent=2) + "\n") + return data def write(data): version_json.write_text(json.dumps(data, indent=2) + "\n")