From 51ddcf076ec46149ee48f44486ec6cb4b6aec38b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B8=D0=BA=D1=82=D0=BE=D1=80?= <78488229+viktor138irk@users.noreply.github.com> Date: Tue, 12 May 2026 01:51:56 +0900 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=BF=D0=B8=D1=81=D1=8C=20OTA=20APK=20=D0=B2=20art?= =?UTF-8?q?ifacts=20history?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/ota_publish.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/backend/ota_publish.py b/backend/ota_publish.py index 577842b..eedb993 100644 --- a/backend/ota_publish.py +++ b/backend/ota_publish.py @@ -6,6 +6,7 @@ from urllib.parse import urljoin import paramiko from backend.android_tools import find_apks +from backend.artifacts_registry import record_apk_artifact from backend.projects_registry import find_project_by_workspace from backend.pubspec_tools import read_pubspec_version from backend.runtime_logs import add_log @@ -110,6 +111,21 @@ def publish_project_ota(workspace: str) -> dict: finally: transport.close() + artifact = record_apk_artifact( + workspace=workspace, + apk_path=apk_path, + project_name=project.get('name'), + version=version, + build=build, + ota_result={ + 'success': True, + 'latest_json': latest_json, + 'uploaded': [latest_apk_name, versioned_apk_name, latest_json_name], + }, + source='ota_publish', + ) + + add_log(f'APK artifact saved: {artifact.get("apk_name")}') add_log(f'OTA publish completed: {latest_json.get("apk_url")}') return { @@ -117,5 +133,6 @@ def publish_project_ota(workspace: str) -> dict: 'apk': apk_path, 'latest_json': latest_json, 'uploaded': [latest_apk_name, versioned_apk_name, latest_json_name], + 'artifact': artifact, 'published_at': datetime.utcnow().isoformat() + 'Z', }