Share install and deploy preparation with verified release bundle reuse

This commit is contained in:
2026-10-25 23:15:32 -05:00
parent b5a8393c4a
commit 01f838b6eb
6 changed files with 648 additions and 71 deletions
+23
View File
@@ -0,0 +1,23 @@
export interface BuildStepUpdate {
status?: 'pending' | 'running' | 'done' | 'error';
detail?: string;
}
export interface BuildObserver {
updateStep(index: number, update: BuildStepUpdate): void;
appendLog(index: number, line: string): void;
}
export interface PreparedGalaxyBuild {
/** Private Galaxy.app copy; safe for consumers to sign without changing the cache. */
appPath: string;
reused: boolean;
identity?: Record<string, unknown>;
/** Call in a finally block after the app has been copied or packaged. */
release(): Promise<void>;
}
export function prepareGalaxyBuild(
workspaceRoot: string,
observer?: BuildObserver | ((index: number, update: BuildStepUpdate) => void),
): Promise<PreparedGalaxyBuild>;