From aa7e85038b75ddd8149e17766b08de156ed75acc Mon Sep 17 00:00:00 2001 From: Pierre Chalamet Date: Fri, 16 Jan 2026 17:00:43 +0100 Subject: [PATCH] check workspace before running graph --- src/Terrabuild/Program.fs | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/Terrabuild/Program.fs b/src/Terrabuild/Program.fs index a9716e95..0ab1e4dc 100644 --- a/src/Terrabuild/Program.fs +++ b/src/Terrabuild/Program.fs @@ -302,12 +302,22 @@ let processCommandLine (parser: ArgumentParser) (result: ParseRe runTarget options let graph (graphArgs: ParseResults) = - "Press Ctrl+C to exit graph server mode." |> Terminal.writeLine - Terminal.flush() - Terminal.mute() - GraphServer.start graphArgs (log || debug) debug |> ignore - Terminal.unmute() - 0 + let workspaceResult = + match graphArgs.TryGetResult(GraphArgs.Workspace) with + | Some ws -> findWorkspace (ws |> FS.fullPath) + | None -> findWorkspace (currentDir()) + match workspaceResult with + | None -> + "No workspace found. Start Terrabuild graph from a workspace directory or pass -w ." + |> Terminal.writeLine + 5 + | Some _ -> + "Press Ctrl+C to exit graph server mode." |> Terminal.writeLine + Terminal.flush() + Terminal.mute() + GraphServer.start graphArgs (log || debug) debug |> ignore + Terminal.unmute() + 0 let logs (logsArgs: ParseResults) = let targets = logsArgs.GetResult(LogsArgs.Target) |> Seq.map String.toLower